# # GNUPLOT makefile for GCC-ST 1.x and 2.x # in a cross development environment (unix) or a native TOS environment # (see configuration section) # # Modified from the BorlandC makefile by Alexander Lehmann # Modified by Dirk Stadler for outboard terminal support # # produces executable which pipes data to the GCLIENT.PRG # -------------------- begin of configuration section ----------------------- # CC is name of compiler producing TOS executables # HOSTCC is the name of the native compiler # SL is the path separator (/ for unix or UNIXMODE, \ for standard TOS) # settings for crosscompiling: CC = gcc HOSTCC = gcc SL=/ MATHLIB= -lpml # settings for native compiling: #CC = gcc #HOSTCC = $(CC) #SL=\ #MATHLIB= -lpml # -O means optimisation in general # o-f-p avoids link-unlink instructions # s-r optimisation of loops and elimination of iterations variables # c-r improve register movement # if you have GCC 2.x (and time), you can choose the -O2 option # first line for GCC 1.x, second and third for GCC 2.x #OPTFLAGS = -O -fomit-frame-pointer -fstrength-reduce -fcombine-regs #OPTFLAGS = -O -fomit-frame-pointer -fstrength-reduce OPTFLAGS = -O2 -fomit-frame-pointer TTFLAGS = -m68020 -m68881 COMMON = -DMTOS -DREADLINE -DPIPES -DHAVE_STRNICMP -DNO_FLOAT_H -I. -I.. # note that current versions of gcc for Atari may very well have float.h # if anyone can verify this, please fix it. # -c means don't link # -DREADLINE to use the history/line editing capability. If you want this # capability add -DREADLINE to CFLAGS # NOTE: since readline is the only place where AES events are processed, the # new (window) version will no longer work without -DREADLINE CFLAGS = -c $(OPTFLAGS) $(COMMON) LDFLAGS = -lpml -lgem CFLAGS30 = -c $(OPTFLAGS) $(TTFLAGS) $(COMMON) LDFLAGS30 = -lgem -lgnu020 LDFLAGSSFP = -lpmlsfp -lgem -lgnusfp TERMFLAGS = # where to place gnuplot.gih helpfile HELPFILE=gnuplot.gih # gnuplot.doc as Tex-File TEXFILE=docs/gnuplot.tex # -------------------- end of configuration section ------------------------- OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o \ hidden3d.o util3d.o help.o internal.o misc.o parse.o \ plot.o readline.o scanner.o set.o show.o specfun.o \ standard.o stdfn.o term.o util.o version.o binary.o fit.o \ matrix.o alloc.o datafile.o plot2d.o plot3d.o interpol.o OBJS30 = bitmap.o0 command.o0 contour.o0 eval.o0 graphics.o0 graph3d.o0 \ hidden3d.o0 util3d.o0 help.o0 internal.o0 misc.o0 parse.o0 \ plot.o0 readline.o0 scanner.o0 set.o0 show.o0 specfun.o0 \ standard.o0 stdfn.o0 term.o0 util.o0 version.o0 binary.o0 fit.o0 \ matrix.o0 alloc.o0 datafile.o0 plot2d.o0 plot3d.o0 interpol.o0 # path prefix for the term subdirectory TERM = term$(SL) TERMS = $(TERM)atariaes.trm $(TERM)atarivdi.trm $(TERM)multitos.trm \ $(TERM)dumb.trm $(TERM)eepic.trm \ $(TERM)epson.trm $(TERM)hpgl.trm $(TERM)hpljii.trm $(TERM)hppj.trm \ $(TERM)latex.trm $(TERM)pbm.trm $(TERM)post.trm $(TERM)texdraw.trm all: gnuplot.tos gnuplt30.tos gpltsfp.tos $(HELPFILE) $(TEXFILE) demo$(SL)binary1 gnuplot.tos: $(OBJS) $(CC) -o $@ $(OBJS) $(LDFLAGS) fixstk 120k $@ xstrip -k $@ gnuplt30.tos: $(OBJS30) $(CC) -o $@ $(OBJS30) $(LDFLAGS30) fixstk 120k $@ xstrip -k $@ gpltsfp.tos: $(OBJS) $(CC) -o $@ $(OBJS) $(LDFLAGSSFP) fixstk 120k $@ xstrip -k $@ # to run bivariat demo ca. 100k stack is needed, all others work with ca. 32k # default rules %.o: %.c $(CC) -o $@ $(CFLAGS) $< %.o0: %.c $(CC) -o $@ $(CFLAGS30) $< # dependencies # for GNUPLOT.TOS and GPLTSFP.TOS alloc.o: alloc.c plot.h bitmap.o: bitmap.c bitmap.h plot.h binary.o: binary.c plot.h command.o: command.c plot.h setshow.h help.h $(CC) -o $@ $(CFLAGS) -DHELPFILE=\"$(HELPFILE)\" $< contour.o: contour.c plot.h datafile.o: datafile.c plot.h fnproto.h binary.h setshow.h eval.o: eval.c plot.h graphics.o: graphics.c plot.h setshow.h graph3d.o: graph3d.c plot.h setshow.h hidden3d.o: hidden3d.c plot.h setshow.h util3d.o: util3d.c plot.h setshow.h fit.o: fit.c fit.h matrix.h plot.h interpol.o: interpol.c plot.h setshow.h matrix.o: matrix.c matrix.h fit.h help.o: help.c help.h internal.o: internal.c plot.h misc.o: misc.c plot.h setshow.h help.h parse.o: parse.c plot.h plot.o: plot.c plot.h fit.h setshow.h fnproto.h plot2d.o: plot2d.c plot.h setshow.h fit.h binary.h help.h plot3d.o: plot3d.c plot.h setshow.h binary.h help.h readline.o: readline.c scanner.o: scanner.c plot.h show.o: set.c plot.h setshow.h $(CC) -o $@ $(CFLAGS) -DHELPFILE=\"$(HELPFILE)\" $< set.o: show.c plot.h setshow.h specfun.o: plot.h specfun.c standard.o: standard.c plot.h stdfn.o: stdfn.c stdfn.h term.o: term.c term.h plot.h set.c show.c bitmap.h $(TERMS) $(CC) -o $@ $(CFLAGS) $(TERMFLAGS) -Iterm term.c util.o: util.c plot.h version.o: version.c # for GNUPLT30.TOS alloc.o0: alloc.c plot.h bitmap.o0: bitmap.c bitmap.h plot.h binary.o0: binary.c plot.h command.o0: command.c plot.h setshow.h help.h $(CC) -o $@ $(CFLAGS30) -DHELPFILE=\"$(HELPFILE)\" $< contour.o0: contour.c plot.h datafile.o0: datafile.c plot.h fnproto.h binary.h setshow.h eval.o0: eval.c plot.h graphics.o0: graphics.c plot.h setshow.h graph3d.o0: graph3d.c plot.h setshow.h hidden3d.o0: hidden3d.c plot.h setshow.h util3d.o0: util3d.c plot.h setshow.h fit.o0: fit.c fit.h matrix.h plot.h interpol.o0: interpol.c plot.h setshow.h matrix.o0: matrix.c matrix.h fit.h help.o0: help.c help.h internal.o0: internal.c plot.h misc.o0: misc.c plot.h setshow.h help.h parse.o0: parse.c plot.h plot.o0: plot.c plot.h fit.h setshow.h fnproto.h plot2d.o0: plot2d.c plot.h setshow.h fit.h binary.h help.h plot3d.o0: plot3d.c plot.h setshow.h binary.h help.h readline.o0: readline.c scanner.o0: scanner.c plot.h show.o0: set.c plot.h setshow.h $(CC) -o $@ $(CFLAGS30) -DHELPFILE=\"$(HELPFILE)\" $< set.o0: show.c plot.h setshow.h specfun.o0: plot.h specfun.c standard.o0: standard.c plot.h stdfn.o): stdfn.c stdfn.h term.o0: term.c term.h plot.h set.c show.c bitmap.h $(TERMS) $(CC) -o $@ $(CFLAGS30) $(TERMFLAGS) -Iterm term.c util.o0: util.c plot.h version.o0: version.c $(HELPFILE): doc2gih docs$(SL)gnuplot.doc doc2gih docs$(SL)gnuplot.doc $@ $(TEXFILE): doc2tex docs$(SL)gnuplot.doc doc2tex docs$(SL)gnuplot.doc $@ doc2gih: docs$(SL)doc2gih.c docs$(SL)termdoc.c $(HOSTCC) -I. -I.. -Idocs -o $@ $< doc2tex: docs$(SL)doc2tex.c docs$(SL)termdoc.c $(HOSTCC) -DALL_TERM_DOC -I. -I.. -Idocs -o $@ $< bf_test: bf_test.c binary.c alloc.c $(HOSTCC) -DMTOS -o $@ bf_test.c binary.c alloc.c $(MATHLIB) demo$(SL)binary1: bf_test (cd demo; ../bf_test) clean: # remove temporary files, but leave executable intact rm -f $(OBJS) $(OBJS30) $(OBJSSFP) bf_test.o realclean: clean # remove all files generated by make rm -f *.tos doc2gih doc2tex bf_test rm -f demo$(SL)binary1 demo$(SL)binary2 demo$(SL)binary3 rm -f $(HELPFILE) $(TEXFILE) # empty rules for file extensions (some makes might need this) %.trm: %.doc: