📄 makefile.msvc7
字号:
## Microsoft Visual Sutdio Makefile for PHYLIP 3.6.## 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.6 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 placedEXEDIR = ..\exe## ----------------------------------------------------------------------------# You must change MSVCPATH to the full path where you have installed # Microsoft Visual Studio. These must be names without spaces. The default# location is c:\microsoft visual studio\vc98. The shortened name is# c:\Micros~1\VC98# Another common one is# c:\progra~1\Micros~1\VC98MSVCPATH=C:\PROGRA~1\MICROS~3\VC98INCPATH=$(MSVCPATH)\Include\ CFLAGS =/c /O2 /Oy /DNWIN32 /D_DEBUG /I$(INCPATH)LFLAGS =/link /libpath:$(MSVCPATH)\Lib\ ##### ----------------------------------------------------------------------------# (After this point there should not be any reason to change anything)# ----------------------------------------------------------------------------## Specifies the C compiler.CC = cl.exe $(CFLAGS)LINK = cl.exe LIBS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib## Specifies the resource compilerRC = rc.exe /I$(INCPATH)#### 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 \ promlk.exe protdist.exe protpars.exe restdist.exe \ restml.exe retree.exe seqboot.exe treedist.exe## general commands### The first uses a symbol you are unlikely to type. It is the one that# is executed if you just type "make". It tells you how to use the# Makefile.#a1b2c3d4: @echo "" @echo " To use the PHYLIP v3.6 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 " "introduce: @echo "Building PHYLIP version 3.6"all: introduce $(PROGS) @echo "Finished compiling."install: all put clean @echo "Done."put: @echo "Installing PHYLIP v3.6 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 @del *.bak @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."# The following is so that a command like# make dnaml # will actually do something usefullclique: clique.execonsense: consense.execontml: contml.execontrast: contrast.exednacomp: dnacomp.exednadist: dnadist.exednainvar: dnainvar.exednaml: dnaml.exednamlk: dnamlk.exednamove: dnamove.exednapars: dnapars.exednapenny: dnapenny.exedolmove: dolmove.exedollop: dollop.exedolpenny: dolpenny.exedrawgram: drawgram.exedrawtree: drawtree.exefactor: factor.exefitch: fitch.exegendist: gendist.exekitsch: kitsch.exemix: mix.exemove: move.exeneighbor: neighbor.exepars: pars.exepenny: penny.exeproml: proml.exepromlk: promlk.exeprotdist: protdist.exeprotpars: protpars.exerestdist: restdist.exerestml: restml.exeretree: retree.exeseqboot: seqboot.exetreedist: treedist.exe## compile the support files with the shared functions#phylip.obj: phylip.h $(CC) phylip.cseq.obj: seq.c phylip.h seq.h $(CC) seq.cdisc.obj: disc.c phylip.h disc.h $(CC) disc.cdiscrete.obj: discrete.c discrete.h phylip.h $(CC) discrete.cdollo.obj: dollo.c phylip.h dollo.h $(CC) dollo.cwagner.obj: wagner.c phylip.h wagner.h $(CC) wagner.cdist.obj: dist.c phylip.h dist.h $(CC) dist.ccont.obj: cont.c cont.h phylip.h $(CC) cont.cmoves.obj: moves.c phylip.h moves.h $(CC) moves.c## compile the individual programs#clique.obj: clique.c disc.h phylip.h $(CC) -c clique.cclique.exe: clique.obj clique.res disc.obj phylip.obj $(LINK) clique.obj disc.obj phylip.obj clique.res $(LFLAGS)cons.obj: cons.c cons.h phylip.h $(CC) -c cons.cconsense.obj: consense.c cons.c cons.h phylip.h $(CC) -c consense.cconsense.exe: consense.obj consense.res phylip.obj cons.obj $(LINK) consense.obj phylip.obj cons.obj consense.res $(LFLAGS)contml.obj: contml.c cont.h phylip.h $(CC) -c contml.ccontml.exe: contml.obj contml.res cont.obj phylip.obj $(LINK) contml.obj cont.obj phylip.obj contml.res $(LFLAGS)contrast.obj: contrast.c cont.h phylip.h $(CC) -c contrast.ccontrast.exe: contrast.obj contrast.res cont.obj phylip.obj $(LINK) contrast.obj cont.obj phylip.obj contrast.res $(LFLAGS)dnacomp.obj: dnacomp.c seq.h phylip.h $(CC) -c dnacomp.cdnacomp.exe: dnacomp.obj seq.obj phylip.obj dnacomp.res $(LINK) dnacomp.obj seq.obj phylip.obj dnacomp.res $(LFLAGS)dnadist.obj: dnadist.c seq.h phylip.h $(CC) -c dnadist.cdnadist.exe: dnadist.obj seq.obj phylip.obj dnadist.res $(LINK) dnadist.obj seq.obj phylip.obj dnadist.res $(LFLAGS)dnainvar.obj: dnainvar.c seq.h phylip.h $(CC) -c dnainvar.cdnainvar.exe: dnainvar.obj seq.obj phylip.obj dnainvar.res $(LINK) dnainvar.obj seq.obj phylip.obj dnainvar.res $(LFLAGS)dnaml.obj: dnaml.c seq.h phylip.h $(CC) -c dnaml.cdnaml.exe: dnaml.obj seq.obj phylip.obj dnaml.res $(LINK) dnaml.obj seq.obj phylip.obj dnaml.res $(LFLAGS)dnamlk.obj: dnamlk.c seq.h phylip.h $(CC) -c dnamlk.cdnamlk.exe: dnamlk.obj seq.obj phylip.obj $(LINK) dnamlk.obj seq.obj phylip.obj $(LFLAGS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -