[BACK]Return to makefile.os2 CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot

Annotation of OpenXM_contrib/gnuplot/makefile.os2, Revision 1.1.1.2

1.1       maekawa     1: #
1.1.1.2 ! maekawa     2: # $Id: makefile.os2,v 1.13.2.2 1999/10/28 10:14:55 lhecking Exp $
1.1       maekawa     3: #
1.1.1.2 ! maekawa     4: # Makefile for use with emx and GNUMake
1.1       maekawa     5: #   on OS/2 3.0 and above (might also work for OS/2 2.x)
                      6: #
1.1.1.2 ! maekawa     7: # last modification date: 19991027
1.1       maekawa     8: #
                      9:
                     10: # We depend on using cmd.exe (or a compatible one)
                     11: SHELL=cmd.exe
                     12:
                     13: #
                     14: # ***************** Begin of Configuration section ***************************
                     15: #
                     16:
                     17: # Comment out the definition lines to disable the according features:
                     18:
                     19: # X11 driver
                     20: # requires installed XFree86
                     21: X11=1
                     22:
                     23: # GD (GIF) device driver
                     24: # requires GD library (not part of gnuplot)
                     25: GD=1
                     26:
                     27: # PNG device driver
                     28: # requires PNG and Z libraries (not part of gnuplot)
                     29: PNG=1
                     30:
                     31: # VESAkit support
                     32: # requires SVGA- and VESA Kit (not part of gnuplot)
                     33: VESA=1
                     34:
                     35: # GNU_ReadLine support
                     36: # requires GNU readline library (static or DLL; not part of gnuplot)
                     37: GNU_RL=1
                     38:
                     39: # DEBUGging support
                     40: # creates binaries suitable for debugging. Some bugs may come and go
                     41: # as opposed to a production build since we lower the optimization level
                     42: # DEBUG=1
                     43:
                     44: # MOUSE support for PM terminal
                     45: # (not yet supported in official release)
                     46: # MOUSE=1
                     47:
                     48: #
                     49: # ****************** End of Configuration section ****************************
                     50: #
                     51:
                     52: #
                     53: # Miscellaneous setup
                     54: #
                     55:
                     56: .PHONY: all runtime alldocs demo binaries infomin clean veryclean
                     57: .SUFFIXES: .c .trm .o .obj .exe
                     58:
                     59: # seems to be a reasonable default ...
                     60: default: runtime
                     61:
                     62: # a help screen
                     63: help:
                     64:           @echo " Usage: $(MAKE) -f makefile.os2 target"
                     65:           @echo "   target is one of:"
                     66:           @echo "   all runtime alldocs demo binaries infomin help clean veryclean"
                     67:
                     68: #
                     69: # Definitions of flags and symbols used by makefile.all and makefile.os2
                     70: #
                     71:
                     72: # these definitions are used by makefile.all
                     73: T=term/
                     74: D=docs/
                     75: L=$(D)latextut/
                     76: M=demo/
                     77:
                     78: #
                     79: # Definitions valid for all targets on OS/2
                     80: #
                     81:
                     82: OS2DIR = os2
                     83: DOCDIR = docs
                     84: DEMODIR=demo
                     85: TERMDIR=term
                     86:
                     87: OS2TERMS= $(TERMDIR)\pm.trm
                     88: ifdef X11
                     89:        OS2TERMS += $(TERMDIR)\x11.trm
                     90: endif
                     91: ifdef VESA
                     92:        OS2TERMS += $(TERMDIR)\emxvga.trm
                     93: endif
                     94:
                     95:
                     96: # where to place gnuplot.gih helpfile
                     97: HELPFILE = gnuplot.gih
                     98:
                     99: #
                    100: # 3 sets of variables are defined and used to create
                    101: #  (1): gnuplot.exe
                    102: #   2 : gnupmdrv.exe (the PM-driver executable)
                    103: #   3 : utilities like doc2*.exe, bf_test.exe, ...
                    104: #
                    105: CC  = gcc
                    106: CC2 = gcc
                    107: CC3 = gcc
                    108: O  = o
                    109: O2 = obj
                    110: O3 = o
                    111:
                    112: # Flags for compiler and linker under OS/2
                    113: OS2FLAGS = -DOS2 -DHELPFILE=\"$(HELPFILE)\"
                    114:
                    115: # Flags for compiling with EMX/GCC
                    116: # Special note: -ffloat-store is necessary to avoid some
                    117: # strange behaviour (confirmed for gcc 2.7.x and graphics.c)
                    118: EMXSPECIFIC = -ffloat-store -DREADLINE -DHAVE_STRNICMP -DPIPES -DHAVE_STRERROR -DHAVE_SYS_SELECT_H -DHAVE_SYS_STAT_H
                    119: LIBS =
                    120: ifdef GNU_RL
1.1.1.2 ! maekawa   121:   EMXSPECIFIC += -DHAVE_LIBREADLINE
1.1       maekawa   122:   LIBS += -lreadline -ltermcap
                    123: endif
                    124:
                    125: #
                    126: # Choose flags suitable for a debugging or for a production build
                    127: #
                    128: ifdef DEBUG
                    129: CFLAGS  = -g $(OS2FLAGS) $(EMXSPECIFIC) -Wall -Wno-comment -O0 -Zmt
                    130: LFLAGS  = -g -Zcrtdll -Zmt
                    131: CFLAGS2 = -g $(OS2FLAGS) $(EMXSPECIFIC) -Zomf -Zsys -Zmt -Wall -O0
                    132: LFLAGS2 = -g -Zomf -Zmt -Zcrtdll
                    133: CFLAGS3 = -g $(OS2FLAGS) $(EMXSPECIFIC) -Wall -Wno-comment -O0
                    134: LFLAGS3 = -g
                    135: else
                    136: CFLAGS  = $(OS2FLAGS) $(EMXSPECIFIC) -O2 -Wall -Wno-unused -Wno-comment -Zmt
                    137: LFLAGS  = -s -Zcrtdll -Zmt
                    138: CFLAGS2 = $(OS2FLAGS) $(EMXSPECIFIC) -Zomf -Zcrtdll -Zmt -O2 -Wall -Wno-unused
                    139: LFLAGS2 = -s -Zomf -Zmt -Zsys
                    140: CFLAGS3 = $(OS2FLAGS) $(EMXSPECIFIC) -O2 -Wall -Wno-unused -Wno-comment
                    141: LFLAGS3 = -s
                    142: endif
                    143:
                    144: #
                    145: # Settings for the terminals to be included
                    146: #
                    147: TERMFLAGS = -I. -I$(T)
                    148:
                    149: # All terminals available via #defines should be listed below
                    150: # Some terminals can be en/disabled in the configuration at the
                    151: # beginning of this Makefile.os2 but others may still require
                    152: # changes in term.h
                    153:
                    154: #
                    155: # GIF-support
                    156: ifdef GD
                    157: TERMFLAGS += -DHAVE_LIBGD
                    158: TERMLIBS  += -lgd
                    159: endif
                    160: # PNG-support
                    161: ifdef PNG
                    162: TERMFLAGS += -DHAVE_LIBPNG
                    163: TERMLIBS  += -lpng -lz
                    164: endif
                    165: # SVGA-/VESAkit support
                    166: ifdef VESA
                    167: TERMFLAGS += -DEMXVESA
                    168: TERMLIBS  += -ljmgraph -lvesa
                    169: endif
                    170: # X11 support
                    171: ifdef X11
                    172: TERMFLAGS += -DX11
                    173: endif
                    174: # MOUSE support for PM terminal
                    175: ifdef MOUSE
                    176: TERMFLAGS += -DUSE_MOUSE
                    177: endif
                    178:
                    179: #
                    180: # Default Rules
                    181: #
                    182: .c.$(O):
                    183:        $(CC)  $(CFLAGS) $(TERMFLAGS) -o $*.$(O) -c $*.c
                    184: .c.obj:
                    185:        $(CC2) $(CFLAGS2) -o $*.obj -c $*.c
                    186:
                    187: #
                    188: # Include dependencies valid for all platforms from makefile.all
                    189: #
                    190: include makefile.all
                    191:
                    192: #
                    193: # Pre-defined sets of targets:
                    194: #
                    195: all:         runtime demo
                    196: alldocs:     gnuplot.gih gnuplot.inf gnuplot.html gnuplot.info \
                    197:              gnuplot.dvi gnuplot.ps
                    198: runtime:     binaries infomin gnuplot.inf
                    199: infomin:     gnupmdrv.hlp gnuplot.gih
                    200: demo:        $(M)binary1 $(M)binary2 $(M)binary3
                    201: ifdef X11
                    202: binaries: gnuplot.exe gnupmdrv.exe gnuplot_x11.exe
                    203: else
                    204: binaries: gnuplot.exe gnupmdrv.exe
                    205: endif
                    206:
                    207: OBJS = $(COREOBJS) version.$(O)
                    208: term.$(O): $(OS2TERMS) term.h
                    209:
                    210: gnuplot.exe: $(OBJS)
                    211:        $(CC) -o $@ $(OBJS) $(TERMLIBS) $(LIBS) $(LFLAGS)
                    212:
                    213: #
                    214: # Build the PM outboard driver
                    215: #
                    216: $(OS2DIR)\gnupmdrv.$(O2):  $(OS2DIR)\gnupmdrv.c   $(OS2DIR)\gnupmdrv.h
                    217: $(OS2DIR)\gclient.$(O2):   $(OS2DIR)\gclient.c    $(OS2DIR)\gnupmdrv.h
                    218: $(OS2DIR)\dialogs.$(O2):   $(OS2DIR)\dialogs.c    $(OS2DIR)\gnupmdrv.h  $(OS2DIR)\dialogs.h
                    219: $(OS2DIR)\print.$(O2):     $(OS2DIR)\print.c      $(OS2DIR)\gnupmdrv.h
                    220: $(OS2DIR)\gnupmdrv.res :   $(OS2DIR)\gnupmdrv.rc  $(OS2DIR)\gnuplot.ico $(OS2DIR)\dialogs.h
                    221:        cd $(OS2DIR) & rc -r gnupmdrv.rc & cd ..
                    222: OS2OBJ = $(OS2DIR)\gnupmdrv.$(O2) $(OS2DIR)\gclient.$(O2) $(OS2DIR)\print.$(O2) \
                    223:          $(OS2DIR)\dialogs.$(O2)
                    224: gnupmdrv.exe: $(OS2OBJ) $(OS2DIR)\gnupmdrv.res $(OS2DIR)\gnupmdrv.def
                    225:        $(CC2) $(LFLAGS2) -o $@ $(OS2OBJ) $(OS2DIR)\gnupmdrv.res $(OS2DIR)\gnupmdrv.def
                    226: gnupmdrv.hlp: $(OS2DIR)\gnupmdrv.ipf
                    227:        ipfc $(OS2DIR)\gnupmdrv.ipf
                    228:        move $(OS2DIR)\gnupmdrv.hlp .
                    229:
                    230: #
                    231: # Build the X11 outboard driver
                    232: #
                    233:
                    234: # X11 libraries
                    235: X11LIBS = -lX11 -lsocket -Zcrtdll
                    236: # X11 includes
                    237: X11INCLUDES = -I$(X11ROOT)/xfree86/include
1.1.1.2 ! maekawa   238: X11FLAGS= -Zmtd -Zsysv-signals
1.1       maekawa   239:
                    240: gnuplot_x11.exe: gplt_x11.o stdfn.o
                    241:        $(CC) $(LFLAGS) $(X11FLAGS) $(EMXSPECIFIC) -o $@ $^ $(X11LIBS)
                    242:
                    243: gplt_x11.o: gplt_x11.c
                    244:        $(CC) $(CFLAGS) $(X11FLAGS) $(EMXSPECIFIC) $(X11INCLUDES) -c -o $@ $<
                    245:
                    246: #
                    247: # Create documentation in various formats
                    248: #
                    249: # Change the call to LaTeX if the "latex2e" is not appropiate for you
                    250: # (and don't care about the strange way it's implemented ...)
                    251: gnuplot.dvi: gnuplot.tex
                    252:        copy gnuplot.tex $(DOCDIR)\gnuplot_2.tex
1.1.1.2 ! maekawa   253:        cd $(DOCDIR) & latex gnuplot_2.tex & latex gnuplot_2.tex
1.1       maekawa   254:        move $(DOCDIR)\gnuplot_2.dvi gnuplot.dvi
                    255:        del $(DOCDIR)\gnuplot_2*
                    256: gnuplot.tex:  $(DOCDIR)\gnuplot.doc doc2tex.exe
                    257:        doc2tex $(DOCDIR)\gnuplot.doc gnuplot.tex
                    258: gnuplot.ps: gnuplot.dvi
                    259:        dvips -o gnuplot.ps gnuplot.dvi
                    260: gnuplot.inf:  $(DOCDIR)\gnuplot.ipf
                    261:        ipfc -i $(DOCDIR)\gnuplot.ipf gnuplot.inf
                    262: gnuplot.gih:  $(DOCDIR)\gnuplot.doc doc2gih.exe
                    263:        doc2gih $(DOCDIR)\gnuplot.doc gnuplot.gih
                    264: gnuplot.html: $(DOCDIR)\gnuplot.doc doc2html.exe
                    265:        doc2html $(DOCDIR)\gnuplot.doc gnuplot.html
                    266: gnuplot.info: $(DOCDIR)\gnuplot.doc doc2info.exe
                    267:        doc2info <$(DOCDIR)\gnuplot.doc >gnuplot.info
                    268: gnuplot.texi: $(DOCDIR)\gnuplot.doc $(DOCDIR)\doc2texi.pl
                    269:        perl $(DOCDIR)\doc2texi.pl $(DOCDIR)\gnuplot.doc >$(DOCDIR)\gnuplot.texi
                    270: gnuplot.rtf:  $(DOCDIR)\gnuplot.doc doc2rtf.exe
                    271:        doc2rtf $(DOCDIR)\gnuplot.doc gnuplot.rtf
                    272: gnuplot.ms:   $(DOCDIR)\gnuplot.doc doc2ms.exe
                    273:        doc2ms $(DOCDIR)\gnuplot.doc gnuplot.ms
                    274: $(DOCDIR)\gnuplot.ipf:  $(DOCDIR)\gnuplot.doc doc2ipf.exe
                    275:        doc2ipf $(DOCDIR)\gnuplot.doc $(DOCDIR)\gnuplot.ipf
                    276: #
                    277: # Tools for converting the documentation from docs\gnuplot.doc
                    278: # in various formats
                    279: #
                    280: doc2gih.exe doc2ipf.exe doc2html.exe doc2info.exe doc2tex.exe doc2rtf.exe: \
                    281:             $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(DOCDIR)\allterm.h
                    282: #
                    283: # To include all terminal documentations in the documentation
                    284: # uncomment the following 2 lines
                    285: # doc2gih.exe doc2ipf.exe doc2html.exe doc2info.exe doc2tex.exe doc2rtf.exe: \
                    286: #           $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(DOCDIR)\allterm.h
                    287:
                    288: $(DOCDIR)\allterm.h: $(CORETERM)
                    289: #   echo > $@
                    290:        cd $(TERMDIR) & type *.trm > ..\$@
                    291: doc2gih.exe:  $(DOCDIR)\doc2gih.c $(DOCDIR)\termdoc.c $(OS2TERMS)
                    292:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2gih.c $(DOCDIR)\termdoc.c
                    293: doc2ipf.exe:  $(DOCDIR)\doc2ipf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERMS)
                    294:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2ipf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
                    295: doc2tex.exe:  $(DOCDIR)\doc2tex.c $(DOCDIR)\termdoc.c $(OS2TERMS) $(DOCDIR)\allterm.h
                    296:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2tex.c $(DOCDIR)\termdoc.c
                    297: doc2html.exe: $(DOCDIR)\doc2html.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERMS)
                    298:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2html.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
                    299: doc2info.exe: $(DOCDIR)\doc2info.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERMS)
                    300:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2info.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
                    301: doc2rtf.exe:  $(DOCDIR)\doc2rtf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c $(OS2TERMS)
                    302:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2rtf.c $(DOCDIR)\termdoc.c $(DOCDIR)\xref.c
                    303: doc2ms.exe:   $(DOCDIR)\doc2ms.c $(DOCDIR)\termdoc.c $(OS2TERMS)
                    304:        $(CC3) $(CFLAGS3) $(TERMFLAGS) -DALL_TERM_DOC -o $@ $(DOCDIR)\doc2ms.c $(DOCDIR)\termdoc.c
                    305: #
                    306: # Create binary demo files
                    307: #
                    308: $(M)binary1: $(M)bf_test.exe
                    309:        cd $(DEMODIR) & bf_test.exe & cd ..
                    310: $(M)binary2: $(M)bf_test.exe
                    311:        cd $(DEMODIR) & bf_test.exe & cd ..
                    312: $(M)binary3: $(M)bf_test.exe
                    313:        cd $(DEMODIR) & bf_test.exe & cd ..
                    314: $(M)bf_test.exe : bf_test.c binary.$(O) alloc.$(O)
                    315:        $(CC3) $(CFLAGS3) -o $@ bf_test.c binary.$(O) alloc.$(O)
                    316: #
                    317: # Clean up
                    318: #
                    319:
                    320: # Clean up all files temporary used
                    321: clean:
                    322:        IF EXIST *.$(O)                  DEL *.$(O)
                    323:        IF EXIST *.$(O2)                 DEL *.$(O2)
                    324:        cd $(OS2DIR) & IF EXIST *.$(O2)  DEL *.$(O2)
                    325:        IF EXIST $(OS2DIR)\gnupmdrv.res  DEL $(OS2DIR)\gnupmdrv.res
                    326:        IF EXIST demo\bf_test.exe        DEL demo\bf_test.exe
                    327:        IF EXIST doc2*.exe               DEL doc2*.exe
                    328:        IF EXIST gnuplot.ipf             DEL gnuplot.ipf
                    329:        IF EXIST core                    DEL core
                    330:        IF EXIST $(DOCDIR)\allterm.h     DEL $(DOCDIR)\allterm.h
                    331:
                    332: # Clean up ALL files that were not part of the source distribution
                    333: veryclean: clean
                    334:        IF EXIST *.exe.exe               DEL gnuplot.exe
                    335:        IF EXIST gnupmdrv.hlp            DEL gnupmdrv.hlp
                    336:        IF EXIST gnuplot.gih             DEL gnuplot.gih
                    337:        IF EXIST gnuplot.inf             DEL gnuplot.inf
                    338:        IF EXIST gnuplot.dvi             DEL gnuplot.dvi
                    339:        IF EXIST gnuplot.htm             DEL gnuplot.htm
                    340:        IF EXIST gnuplot.tex             DEL gnuplot.tex
                    341:        IF EXIST gnuplot.texi            DEL gnuplot.texi
                    342:        IF EXIST gnuplot.info            DEL gnuplot.info
                    343:        IF EXIST gnuplot.ms              DEL gnuplot.ms
                    344:        IF EXIST gnuplot.rtf             DEL gnuplot.rtf
                    345:        IF EXIST gnuplot.ps              DEL gnuplot.ps
                    346:        cd demo & IF EXIST binary?       DEL binary?

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>