# # Borland Makefile for PHYLIP 3.69. # # You should not need to change anything, though if you want you could # change one of first two (noncomment) statements to some directory locations # that might be more useful. # The archives when extracted put the source code into a directory .\src, # and also puts the documentation web pages into .\exe, and makes a directory # .\exe for the final executables. Only change the definition of EXEDIR # if you want something different from that structure. # # If it causes trouble in compiling, the CFLAGS statement below may alse need # to be changed. # # To use the PHYLIP v3.69 Makefile, type # make install to compile the whole package and then install # the executables in $(EXEDIR), then remove the object # files to save space # make all to compile the whole package but not install it # or remove the object files # make put to move the executables into $(EXEDIR) # make clean to remove all object files and executables from the # current directory # make dnaml to compile and link one program, (in this example, # DnaML) and leave the executable and object files # in the current directory (where the source code is). # You will have to move the executable into the # executables directory (e.g. "mv dnaml.exe") # Note that the program name should be lower case. # # ---------------------------------------------------------------------------- # (Starting here is the section where you may want to change things) # ---------------------------------------------------------------------------- # # these are the two statements we have been talking about: # one of the reasons for changing them would be to put the executables and\or # the documentation on a different file system. # The default configuration is to have within the overall PHYLIP # directory three subdirectories: "src" for source code, "exe" for the # executables, and "doc" for the documentation files. # # the following specifies the directory where the executables will be placed EXEDIR = ..\exe # # ---------------------------------------------------------------------------- # # This is the CFLAGS statement: # # if these next statement say "-g" and that causes trouble, remove the "-g" # if the "-lX11" does not work (X compiling not working), you may want to # remove that switch or fix it. CFLAGS = -DWIN32 -5 -O2 -k- # # # # # ---------------------------------------------------------------------------- # (After this point there should not be any reason to change anything) # ---------------------------------------------------------------------------- # # Specifies the C compiler. CC = bcc32 -O2 $(CFLAGS) # # # Borland Objects # BOBJS=c0x32.obj BLIBS=import32.lib cw32.lib # # # the list of programs # PROGS = clique.exe consense.exe contml.exe contrast.exe \ dnacomp.exe dnadist.exe dnainvar.exe dnaml.exe dnamlk.exe \ dnamove.exe dnapars.exe dnapenny.exe dolmove.exe \ dollop.exe dolpenny.exe drawgram.exe drawtree.exe \ factor.exe fitch.exe gendist.exe kitsch.exe mix.exe \ move.exe neighbor.exe pars.exe penny.exe proml.exe \ protdist.exe protpars.exe restdist.exe restml.exe \ retree.exe seqboot.exe treedist.exe promlk.exe # # general commands # a1b2c3d4: @echo "" @echo " To use the PHYLIP v3.69 Makefile, type" @echo " make install to compile the whole package and then install" @echo " the executables in $(EXEDIR), then remove the object" @echo " files to save space" @echo " make all to compile the whole package but not install it" @echo " or remove the object files" @echo " make put to move the executables into $(EXEDIR)" @echo " make clean to remove all object files and executables from the" @echo " current directory" @echo " make dnaml to compile and link one program, (in this example," @echo " DnaML) and leave the executable and object files" @echo " in the current directory (where the source code is)." @echo " You will have to move the executable into the" @echo " executables directory (e.g. "mv dnaml.exe ..\exe")" @echo " Note that the program name should be lower case." @echo " " # The following is so that a command like # make dnaml # will actually do something usefull clique: clique.exe consense: consense.exe contml: contml.exe contrast: contrast.exe dnacomp: dnacomp.exe dnadist: dnadist.exe dnainvar: dnainvar.exe dnaml: dnaml.exe dnamlk: dnamlk.exe dnamove: dnamove.exe dnapars: dnapars.exe dnapenny: dnapenny.exe dolmove: dolmove.exe dollop: dollop.exe dolpenny: dolpenny.exe drawgram: drawgram.exe drawtree: drawtree.exe factor: factor.exe fitch: fitch.exe gendist: gendist.exe kitsch: kitsch.exe mix: mix.exe move: move.exe neighbor: neighbor.exe pars: pars.exe penny: penny.exe proml: proml.exe promlk: promlk.exe protdist: protdist.exe protpars: protpars.exe restdist: restdist.exe restml: restml.exe retree: retree.exe seqboot: seqboot.exe treedist: treedist.exe introduce: @echo "Building PHYLIP version 3.69" all: introduce $(PROGS) @echo "Finished compiling." install: all put clean @echo "Done." put: @echo "Installing PHYLIP v3.69 binaries in $(EXEDIR)" @copy *.exe $(EXEDIR) @echo "Installing font files in $(EXEDIR)" @copy font* $(EXEDIR) @echo "Finished installation." clean: @echo "Removing object files to save space" @del *.obj *.ilc *.ild *.ilf *.ils *.map *.res *.tds @echo "Finished removing object files. Now will remove" @echo "executable files from the current directory, but not from the" @echo "executables directory. (If some are not here, the makefile" @echo "will terminate with an error message but this is not a problem)" @echo "" @echo "Removing executables from this directory" @del $(PROGS) @echo "Finished cleanup." # # compile the support files with the shared functions # phylip.obj: phylip.h $(CC) -c phylip.c seq.obj: seq.c phylip.h seq.h $(CC) -c seq.c disc.obj: disc.c phylip.h disc.h $(CC) -c disc.c discrete.obj: discrete.c discrete.h phylip.h $(CC) -c discrete.c dollo.obj: dollo.c phylip.h dollo.h $(CC) -c dollo.c wagner.obj: wagner.c phylip.h wagner.h $(CC) -c wagner.c dist.obj: dist.c phylip.h dist.h $(CC) -c dist.c cont.obj: cont.c cont.h phylip.h $(CC) -c cont.c mlclock.obj: mlclock.c mlclock.h phylip.h $(CC) -c mlclock.c moves.obj: moves.c phylip.h moves.h $(CC) -c moves.c printree.obj: printree.c printree.h phylip.h $(CC) -c printree.c # # compile the individual programs # clique.obj: clique.c disc.h phylip.h $(CC) -c clique.c clique.exe: clique.obj clique.res disc.obj phylip.obj ilink32 $(BOBJS) clique.obj disc.obj phylip.obj ,clique.exe,, $(BLIBS) ,,clique.res cons.obj: cons.c cons.h phylip.h $(CC) -c cons.c consense.obj: consense.c cons.c cons.h phylip.h $(CC) -c consense.c consense.exe: consense.obj consense.res phylip.obj cons.obj ilink32 $(BOBJS) consense.obj phylip.obj cons.obj ,consense.exe,, $(BLIBS) ,,consense.res contml.obj: contml.c cont.h phylip.h $(CC) -c contml.c contml.exe: contml.obj contml.res cont.obj phylip.obj ilink32 $(BOBJS) contml.obj cont.obj phylip.obj , contml.exe,,$(BLIBS) ,, contml.res contrast.obj: contrast.c cont.h phylip.h $(CC) -c contrast.c contrast.exe: contrast.obj contrast.res cont.obj phylip.obj ilink32 $(BOBJS) contrast.obj cont.obj phylip.obj, contrast.exe,, $(BLIBS),,contrast.res dnacomp.obj: dnacomp.c seq.h phylip.h $(CC) -c dnacomp.c dnacomp.exe: dnacomp.obj seq.obj phylip.obj dnacomp.res ilink32 $(BOBJS) dnacomp.obj seq.obj phylip.obj, dnacomp.exe,, $(BLIBS),, dnacomp.res dnadist.obj: dnadist.c seq.h phylip.h $(CC) -c dnadist.c dnadist.exe: dnadist.obj seq.obj phylip.obj dnadist.res ilink32 $(BOBJS) dnadist.obj seq.obj phylip.obj,dnadist.exe,,$(BLIBS),, dnadist.res dnainvar.obj: dnainvar.c seq.h phylip.h $(CC) -c dnainvar.c dnainvar.exe: dnainvar.obj seq.obj phylip.obj dnainvar.res ilink32 $(BOBJS) dnainvar.obj seq.obj phylip.obj,dnainvar.exe,,$(BLIBS),, dnainvar.res dnaml.obj: dnaml.c seq.h phylip.h $(CC) -c dnaml.c dnaml.exe: dnaml.obj seq.obj phylip.obj dnaml.res ilink32 $(BOBJS) dnaml.obj seq.obj phylip.obj,dnaml.exe,,$(BLIBS),, dnaml.res dnamlk.obj: dnamlk.c seq.h phylip.h mlclock.h printree.h $(CC) -c dnamlk.c dnamlk.exe: dnamlk.obj seq.obj phylip.obj mlclock.obj printree.obj dnamlk.res ilink32 $(BOBJS) dnamlk.obj seq.obj phylip.obj mlclock.obj printree.obj,dnamlk.exe,, $(BLIBS),, dnamlk.res dnamove.obj: dnamove.c seq.h moves.h phylip.h $(CC) -c dnamove.c dnamove.exe: dnamove.obj seq.obj moves.obj phylip.obj dnamove.res ilink32 $(BOBJS) dnamove.obj seq.obj moves.obj phylip.obj,dnamove.exe,,$(BLIBS),, dnamove.res dnapenny.obj: dnapenny.c seq.h phylip.h $(CC) -c dnapenny.c dnapenny.exe: dnapenny.obj seq.obj phylip.obj dnapenny.res ilink32 $(BOBJS) dnapenny.obj seq.obj phylip.obj,dnapenny.exe,,$(BLIBS),, dnapenny.res dnapars.obj: dnapars.c seq.h phylip.h $(CC) -c dnapars.c dnapars.exe: dnapars.obj seq.obj phylip.obj dnapars.res ilink32 $(BOBJS) dnapars.obj seq.obj phylip.obj,dnapars.exe,,$(BLIBS),, dnapars.res dolmove.obj: dolmove.c disc.h moves.h dollo.h phylip.h $(CC) -c dolmove.c dolmove.exe: dolmove.obj disc.obj moves.obj dollo.obj phylip.obj dolmove.res ilink32 $(BOBJS) dolmove.obj disc.obj moves.obj dollo.obj phylip.obj,dolmove.exe,,$(BLIBS),, dolmove.res dollop.obj: dollop.c disc.h dollo.h phylip.h $(CC) -c dollop.c dollop.exe: dollop.obj disc.obj dollo.obj phylip.obj dollop.res ilink32 $(BOBJS) dollop.obj disc.obj dollo.obj phylip.obj,dollop.exe,,$(BLIBS),, dollop.res dolpenny.obj: dolpenny.c disc.h dollo.h phylip.h $(CC) -c dolpenny.c dolpenny.exe: dolpenny.obj disc.obj dollo.obj phylip.obj dolpenny.res ilink32 $(BOBJS) dolpenny.obj disc.obj dollo.obj phylip.obj,dolpenny.exe,,$(BLIBS),, dolpenny.res draw.obj: draw.c phylip.h draw.h $(CC) -c -DWIN32 draw.c draw2.obj: draw2.c draw.h phylip.h $(CC) -c -DWIN32 draw2.c drawgram.obj: drawgram.c draw.h phylip.h $(CC) -c -DWIN32 drawgram.c drawgram.exe: drawgram.obj draw.obj draw2.obj phylip.obj drawgram.res ilink32 $(BOBJS) draw.obj draw2.obj drawgram.obj phylip.obj,drawgram.exe,,$(BLIBS),, drawgram.res drawtree.obj: drawtree.c draw.h phylip.h $(CC) -c -DWIN32 drawtree.c drawtree.exe: drawtree.obj draw.obj draw2.obj phylip.obj drawtree.res ilink32 $(BOBJS) draw.obj draw2.obj drawtree.obj phylip.obj,drawtree.exe,,$(BLIBS),, drawtree.res factor.obj: factor.c phylip.h $(CC) -c factor.c factor.exe: factor.obj phylip.obj factor.res ilink32 $(BOBJS) factor.obj phylip.obj, factor.exe,,$(BLIBS),,factor.res fitch.obj: fitch.c dist.h phylip.h $(CC) -c fitch.c fitch.exe: fitch.obj dist.obj phylip.obj fitch.res ilink32 $(BOBJS) fitch.obj dist.obj phylip.obj,fitch.exe,, $(BLIBS),,fitch.res gendist.obj: gendist.c phylip.h $(CC) -c gendist.c gendist.exe: gendist.obj phylip.obj gendist.res ilink32 $(BOBJS) gendist.obj phylip.obj,gendist.exe,,$(BLIBS),,gendist.res kitsch.obj: kitsch.c dist.h phylip.h $(CC) -c kitsch.c kitsch.exe: kitsch.obj dist.obj phylip.obj kitsch.res ilink32 $(BOBJS) kitsch.obj dist.obj phylip.obj,kitsch.exe,,$(BLIBS),,kitsch.res mix.obj: mix.c disc.h wagner.h phylip.h $(CC) -c mix.c mix.exe: mix.obj disc.obj wagner.obj phylip.obj mix.res ilink32 $(BOBJS) mix.obj disc.obj wagner.obj phylip.obj,mix.exe,,$(BLIBS),,mix.res move.obj: move.c disc.h moves.h wagner.h phylip.h $(CC) -c move.c move.exe: move.obj disc.obj moves.obj wagner.obj phylip.obj move.res ilink32 $(BOBJS) move.obj disc.obj moves.obj wagner.obj phylip.obj,move.exe,,$(BLIBS),,move.res neighbor.obj: neighbor.c dist.h phylip.h $(CC) -c neighbor.c neighbor.exe: neighbor.obj dist.obj phylip.obj neighbor.res ilink32 $(BOBJS) neighbor.obj dist.obj phylip.obj,neighbor.exe,,$(BLIBS),,neighbor.res pars.obj: pars.c discrete.c discrete.h phylip.h $(CC) -c pars.c pars.exe: pars.obj discrete.obj pars.res phylip.obj ilink32 $(BOBJS) pars.obj discrete.obj phylip.obj,pars.exe,,$(BLIBS),,pars.res penny.obj: penny.c disc.h wagner.h phylip.h $(CC) -c penny.c penny.exe: penny.obj disc.obj wagner.obj phylip.obj penny.res ilink32 $(BOBJS) penny.obj disc.obj wagner.obj phylip.obj,penny.exe,,$(BLIBS),,penny.res promlk.obj: promlk.c seq.h phylip.h mlclock.h printree.h $(CC) -c promlk.c promlk.exe: promlk.obj seq.obj phylip.obj mlclock.obj printree.obj promlk.res ilink32 $(BOBJS) promlk.obj seq.obj phylip.obj mlclock.obj printree.obj, promlk.exe,,$(BLIBS),,promlk.res proml.obj: proml.c seq.h phylip.h $(CC) -c proml.c proml.exe: proml.obj seq.obj phylip.obj proml.res ilink32 $(BOBJS) proml.obj seq.obj phylip.obj,proml.exe,,$(BLIBS),,proml.res protdist.obj: protdist.c seq.h phylip.h $(CC) -c protdist.c protdist.exe: protdist.obj seq.obj phylip.obj protdist.res ilink32 $(BOBJS) protdist.obj seq.obj phylip.obj,protdist.exe,,$(BLIBS),,protdist.res protpars.obj: protpars.c seq.h phylip.h $(CC) -c protpars.c protpars.exe: protpars.obj seq.obj phylip.obj protpars.res ilink32 $(BOBJS) protpars.obj seq.obj phylip.obj,protpars.exe,,$(BLIBS),,protpars.res restdist.obj: restdist.c seq.h phylip.h $(CC) -c restdist.c restdist.exe: restdist.obj restdist.res seq.obj phylip.obj restdist.res ilink32 $(BOBJS) restdist.obj seq.obj phylip.obj,restdist.exe,,$(BLIBS),,restdist.res restml.obj: restml.c seq.h phylip.h $(CC) -c restml.c restml.exe: restml.obj seq.obj phylip.obj restml.res ilink32 $(BOBJS) restml.obj seq.obj phylip.obj,restml.exe,,$(BLIBS),,restml.res retree.obj: retree.c moves.h phylip.h $(CC) -c retree.c retree.exe: retree.obj moves.obj phylip.obj retree.res ilink32 $(BOBJS) retree.obj moves.obj phylip.obj,retree.exe,,$(BLIBS),,retree.res seqboot.obj: seqboot.c phylip.h $(CC) -c seqboot.c seqboot.exe: seqboot.obj seq.obj phylip.obj seqboot.res ilink32 $(BOBJS) seqboot.obj seq.obj phylip.obj,seqboot.exe,,$(BLIBS),,seqboot.res treedist.obj: treedist.c cons.c cons.h phylip.h $(CC) -c treedist.c treedist.exe: treedist.obj phylip.obj cons.obj treedist.res ilink32 $(BOBJS) treedist.obj cons.obj phylip.obj,treedist.exe,,$(BLIBS),,treedist.res protpars.res: icons\protpars.rcb brcc32 icons\protpars.rcb -foprotpars.res dnapars.res: icons\dnapars.rcb brcc32 icons\dnapars.rcb -fodnapars.res dnacomp.res: icons\dnacomp.rcb brcc32 -fodnacomp.res icons\dnacomp.rcb dnapenny.res: icons\dnapenny.rcb brcc32 icons\dnapenny.rcb -fodnapenny.res dnamove.res: icons\dnamove.rcb brcc32 icons\dnamove.rcb -fo dnamove.res dnainvar.res: icons\dnainvar.rcb brcc32 icons\dnainvar.rcb -fodnainvar.res protdist.res: icons\protdist.rcb brcc32 icons\protdist.rcb -foprotdist.res dnadist.res: icons\dnadist.rcb brcc32 -fodnadist.res icons\dnadist.rcb dnaml.res: icons\dnaml.rcb brcc32 icons\dnaml.rcb -fodnaml.res dnamlk.res: icons\dnamlk.rcb brcc32 icons\dnaml.rcb -fodnamlk.res promlk.res: icons\promlk.rcb brcc32 icons\promlk.rcb -fopromlk.res proml.res: icons\proml.rcb brcc32 icons\proml.rcb -foproml.res seqboot.res: icons\seqboot.rcb brcc32 icons\seqboot.rcb -foseqboot.res restdist.res: icons\restdist.rcb brcc32 icons\restdist.rcb -forestdist.res restml.res: icons\restml.rcb brcc32 icons\restml.rcb -forestml.res fitch.res: icons\fitch.rcb brcc32 icons\fitch.rcb -fofitch.res kitsch.res: icons\kitsch.rcb brcc32 icons\kitsch.rcb -fokitsch.res neighbor.res: icons\neighbor.rcb brcc32 icons\neighbor.rcb -foneighbor.res gendist.res: icons\gendist.rcb brcc32 icons\gendist.rcb -fogendist.res contml.res: icons\contml.rcb brcc32 -focontml.res icons\contml.rcb contrast.res: icons\contrast.rcb brcc32 -focontrast.res icons\contrast.rcb pars.res: icons\pars.rcb brcc32 icons\pars.rcb -fopars.res mix.res: icons\mix.rcb brcc32 icons\mix.rcb -fomix.res penny.res: icons\penny.rcb brcc32 icons\penny.rcb -fopenny.res move.res: icons\move.rcb brcc32 icons\move.rcb -fomove.res dollop.res: icons\dollop.rcb brcc32 icons\dollop.rcb -fodollop.res dolpenny.res: icons\dolpenny.rcb brcc32 icons\dollop.rcb -fodolpenny.res dolmove.res: icons\dolmove.rcb brcc32 icons\dolmove.rcb -fodolmove.res clique.res: icons\clique.rcb brcc32 -foclique.res icons\clique.rcb factor.res: icons\factor.rcb brcc32 icons\factor.rcb -fofactor.res drawgram.res: icons\drawgram.rcb brcc32 icons\drawgram.rcb -fodrawgram.res drawtree.res: icons\drawtree.rcb brcc32 icons\drawtree.rcb -fodrawtree.res consense.res: icons\consense.rcb brcc32 -foconsense.res icons\consense.rcb treedist.res: icons\treedist.rcb brcc32 icons\treedist.rcb -fotreedist.res retree.res: icons\retree.rcb brcc32 icons\retree.rcb -foretree.res