📄 makefile.dj2
字号:
# Makefile for Info-ZIP's UnZip, UnZipSFX and fUnZip using djgpp v2.01, by# Frank Donahoe. Last updated: 30 Sept 97# This Makefile is specifically tailored for GNU make and GNU C and# may not work with a generic Unix-compatible make utility. The latest# make version is 3.75. Thanks to Eli Zaretskii for generously responding# to questions with advice on the changes needed to make install work under# the new version.# Features used:# - pattern rules (%.o : %.c, etc.)# - GNU-specific conditionals and functions (ifeq, $(patsubst,,),...)## The stand-alone executable requires DPMI services to run. If running# in a DOS window under Windows 3.1 or later, the dpmi server is auto-# matically present. Under DOS, if a DPMI server is not loaded, the# program will look for "cwsdpmi.exe." If found, it will be loaded for# the duration of the program.## cwsdpmi is a "free" dpmi server written by Charles W. Sandmann# (sandman@clio.rice.edu). It may be found, among other sites, on SimTel# Net at the URL:## ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/csdpmi?[b,s].zip## and on its mirrors worldwide. The latest version as of this writing is 3.# Archives with the b postscript contain the binaries. An alternate server# is found, l.c., in the archive pmode??[b,s].zip. The latest (960908) is# v1.1.# Separators colon and <sp> are used in Unix, semi-colon and <sp> in DOS.VPATH=. msdosifdef NOASMUSE_ASMCRC=elseUSE_ASMCRC=1endif.PHONY : clean install uninstall# UnZip flags# LOCAL_UNZIP may be set in AUTOEXEC.BAT or defined in djgpp.env [make].# See, for example, DOSWILD, in the file INSTALL.# [make]# LOCAL_UNZIP=-DDOSWILD# BUTT=-m486# BUTT may also be defined to specify the target system. At present, -m386# and -m486 are the only supported options. Either will produce code that# will run on the other microprocessor, though possibly not so fast.# In any case, omitting BUTT will result in a slightly smaller executable.LOC=-DDOS -DUSE_VFAT $(ASMFLG) $(LOCAL_UNZIP)CC=gccLD=$(CC)CPPFLAGS=-I. $(LOC)ASFLAGS=$(CPPFLAGS)CFLAGS=-Wall -O2 $(BUTT) $(CPPFLAGS)# See INSTALL for discussion of SFX_EXDIR.# EXDIR=-DSFX_EXDIRFUN_FLAGS=$(CFLAGS) -DFUNZIP# Include OFP for a modest decrease in size of unzipsfx.exe.OFP=-fomit-frame-pointerSFX_FLAGS=-Wall -O2 $(CPPFLAGS) -DSFX $(EXDIR) $(OFP)LDFLAGS=-s# general-purpose stuff# If cp.exe is not found change to CP=copy /Y .CP = cp -fp# If install.exe is not found change to INSTALL=$(CP) . To prevent a# conflict with any of the many different "install's" that might be found# in the path, GNU install will be called as `ginstall'. This also bypasses# a stub bug that cropped up with the install from fil316b.zip.INSTALL=ginstall# The default value of RM is "rm -f" . If rm.exe is not found, uncomment# the following:# RM=del# If "djp.exe," which is Laszlo Molnar's executable file packer, is in the# path, uncomment the three lines found far below containing $(DJP). The# executable files will be converted to self-extracting compressed files.# Look for "djp.exe" in the directory v2misc in the archive mlp???b.zip.# Do not add the option -s to DJP without making the required changes to# the targets zipinfo$E and unzipsfx$E.DJP = djp -qE = .exeO = .oM=msdos# defaults for crc32 stuff and system dependent headersifdef USE_ASMCRCASMFLG = -DASM_CRCCRC32 = crc_gccelseASMFLG =CRC32 = crc32endif# object filesOBJS1 = unzip$O $(CRC32)$O crctab$O crypt$O envargs$O explode$OOBJS2 = extract$O fileio$O globals$O inflate$O list$O match$OOBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$OOBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$OOBJX = unzipsfx$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \ globals_$O inflate_$O match_$O process_$O ttyio_$O $M_$OOBJF = funzip$O $(CRC32)$O crypt-$O globals-$O inflate-$O ttyio-$OOBJECTS_ALL = $(sort $(OBJS) $(OBJX) $(OBJF) crc32$O crc_gcc$O)# Common header files included by all C sources:UNZIP_H = unzip.h unzpriv.h globals.h msdos/doscfg.h# executable filesUNZIPS = unzip$E zipinfo$E funzip$E unzipsfx$E# pattern rules to compile the sources:%$O : %.c $(CC) $(CFLAGS) -c $< -o $@%-$O: %.c $(CC) $(FUN_FLAGS) -c $< -o $@%_$O: %.c $(CC) $(SFX_FLAGS) -c $< -o $@%sfx$O: %.c $(CC) $(SFX_FLAGS) -c $< -o $@all: unzipsunzips: unzip$E zipinfo$E funzip$E unzipsfx$Eunzip$E: $(OBJS) $(LD) $(LDFLAGS) $(OBJS) -o $@# $(DJP) $@zipinfo$E: unzip$E stubify -g $@ stubedit $@ runfile=unzip argv0=zipinfofunzip$E: $(OBJF) $(LD) $(LDFLAGS) $(OBJF) -o $@# $(DJP) $@unzipsfx$E: $(OBJX) $(LD) $(LDFLAGS) $(OBJX) -o $@# $(DJP) -s $@# explicit compilation instructions:crc_gcc$O: crc_i386.S # 32bit, GNU AS $(CC) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S# BIN_PATH may be defined in djgpp.env [make] or defined below. If the# installation is to the directory containing gcc.exe etc. place the# following in djgpp.env:# [make]# BIN_PATH=%\>;BIN_PATH%%\DJDIR%\bin# Even if so placed, it can be over-ridden here by, say:# BIN_PATH=c:\usr\bininstall: -@if not exist $(BIN_PATH)\nul mkdir $(BIN_PATH) command.com /c for %f in ($(UNZIPS)) do $(INSTALL) %f $(BIN_PATH) > NULuninstall: command.com /c for %f in ($(UNZIPS)) do $(RM) $(BIN_PATH)\%f > NULclean:ifeq ($(firstword $(RM)), del) $(RM) *$O $(RM) *.~ $(RM) *.exeelse $(RM) $(OBJECTS_ALL) *.~ *.exeendif# Source dependencies:crc_gcc$O: crc_i386.Scrc32$O: crc32.c $(UNZIP_H) zip.hcrctab$O: crctab.c $(UNZIP_H) zip.hcrypt$O: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.hcrypt-$O: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.henvargs$O: envargs.c $(UNZIP_H)explode$O: explode.c $(UNZIP_H)extract$O: extract.c $(UNZIP_H) crypt.hextract_$O: extract.c $(UNZIP_H) crypt.hfileio$O: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.hfunzip$O: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.hglobals$O: globals.c $(UNZIP_H)globals-$O: globals.c $(UNZIP_H)inflate$O: inflate.c inflate.h $(UNZIP_H)inflate-$O: inflate.c inflate.h $(UNZIP_H) crypt.hlist$O: list.c $(UNZIP_H)match$O: match.c $(UNZIP_H)msdos$O: msdos/msdos.c $(UNZIP_H)msdos_$O: msdos/msdos.c $(UNZIP_H)process$O: process.c $(UNZIP_H)process_$O: process.c $(UNZIP_H)ttyio$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.httyio-$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.hunreduce$O: unreduce.c $(UNZIP_H)unshrink$O: unshrink.c $(UNZIP_H)unzip$O: unzip.c $(UNZIP_H) crypt.h version.h consts.hunzipsfx$O: unzip.c $(UNZIP_H) crypt.h version.h consts.hzipinfo$O: zipinfo.c $(UNZIP_H)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -