📄 makefile.emx
字号:
# Makefile for UnZip, fUnZip and UnZipSFX# for emx 0.9c / gcc under MS-DOS. Derived from makefile.os2# By E-Yen Tan (with mods by Christian Spieler).# Last updated 23 September 1997 (Christian Spieler).## This makefile should work fine with GNU make and hopefully some others.# Tested with GNU make 3.71 gnuish 16-bit and djgpp 32-bit versions.#ifdef NOASM#AS_FLAGS =#elseAS_FLAGS = -DASM_CRC#endifCP=copyRM=delCC=gcc -O -I. -m486# Version 5.1 of the RSX extender provides long file name support under# Windows 95. If you don't have Windows 95 or use a version of RSX prior# to 5.1 (or simply don't want LFN support) remove -DUSE_VFAT from CFLAGS.# Note that if you have a version of RSX prior to 5.1, you can still compile# with USE_VFAT enabled and upgrade RSX.EXE at a later stage.## If you enable USE_VFAT then long file names under plain DOS will simply be# truncated to 8.3 format without mapping. See doscfg.h for details.#CFLAGS=-Wall -DMSDOS $(AS_FLAGS) $(LOCAL_UNZIP) -DUSE_VFATNFLAGS=DLLFLAG=AS=gccASFLAGS=-Di386LDFLAGS=-o ./LDFLAGS2=-Zsmall-conv -sOUT=-oOBJ=.o#ifdef NOASM#CRC32=crc32#CRC32F=crc32f#CRC32X=crc32_#elseCRC32=crc_gccCRC32F=crc_gccCRC32X=crc_gcc#endifOBJUS=msdos.oOBJXS=msdos_.oOSDEP_H=msdos/doscfg.h# default settings for target dependent macros:DIRSEP = /AS_DIRSEP = /OBJU1 = unzip$(OBJ) $(CRC32)$(OBJ) crctab$(OBJ) crypt$(OBJ) envargs$(OBJ)OBJU2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ)OBJU3 = inflate$(OBJ) list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ)OBJU4 = unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ)OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJU4) $(OBJUS)OBJX1 = unzipsf_$(OBJ) $(CRC32X)$(OBJ) crctab_$(OBJ) crypt_$(OBJ)OBJX2 = extract_$(OBJ) fileio_$(OBJ) globals_$(OBJ) inflate_$(OBJ)OBJX3 = match_$(OBJ) process_$(OBJ) ttyio_$(OBJ)OBJX = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)OBJF = funzip$(OBJ) $(CRC32F)$(OBJ) cryptf$(OBJ) inflatef$(OBJ) \ globalsf$(OBJ) ttyiof$(OBJ)UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)# rules.SUFFIXES: .c $(OBJ).c$(OBJ): $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ $<# targetsall: unzip.exe funzip.exe unzipsfx.exe# This next bit is nasty, but is needed to overcome the MS-DOS command# line limit as response files for emx's gcc seem to only work if each# file is on a different line. DJGPP doesn't do this (if you are at all# interested).unzip.exe: $(OBJU) @ echo off# -@ $(RM) unzip.rsp# @ for %f in ($(OBJU1)) do echo %f >> unzip.rsp# @ for %f in ($(OBJU2)) do echo %f >> unzip.rsp# @ for %f in ($(OBJU3)) do echo %f >> unzip.rsp# @ for %f in ($(OBJU4) $(OBJUS)) do echo %f >> unzip.rsp @ echo unzip.o > unzip.rsp @ echo $(CRC32)$(OBJ) >> unzip.rsp @ echo crctab.o >> unzip.rsp @ echo crypt.o >> unzip.rsp @ echo envargs.o >> unzip.rsp @ echo explode.o >> unzip.rsp @ echo extract.o >> unzip.rsp @ echo fileio.o >> unzip.rsp @ echo globals.o >> unzip.rsp @ echo inflate.o >> unzip.rsp @ echo list.o >> unzip.rsp @ echo match.o >> unzip.rsp @ echo process.o >> unzip.rsp @ echo ttyio.o >> unzip.rsp @ echo unreduce.o >> unzip.rsp @ echo unshrink.o >> unzip.rsp @ echo zipinfo.o >> unzip.rsp @ echo msdos.o >> unzip.rsp $(CC) $(LDFLAGS)$@ $(DEF) @unzip.rsp $(LDFLAGS2) @ $(RM) unzip.rspfunzip.exe: $(OBJF) $(CC) $(LDFLAGS)$@ $(DEF) $(OBJF) $(LDFLAGS2)unzipsfx.exe: $(OBJX) @ echo off# -@ $(RM) unzipsfx.rsp# @ for %f in ($(OBJX1)) do echo %f >> unzipsfx.rsp# @ for %f in ($(OBJX2)) do echo %f >> unzipsfx.rsp# @ for %f in ($(OBJX3)) do echo %f >> unzipsfx.rsp# @ for %f in ($(OBJXS)) do echo %f >> unzipsfx.rsp @ echo unzipsf_.o > unzipsfx.rsp @ echo $(CRC32X)$(OBJ) >> unzipsfx.rsp @ echo crctab_.o >> unzipsfx.rsp @ echo crypt_.o >> unzipsfx.rsp @ echo extract_.o >> unzipsfx.rsp @ echo fileio_.o >> unzipsfx.rsp @ echo globals_.o >> unzipsfx.rsp @ echo inflate_.o >> unzipsfx.rsp @ echo match_.o >> unzipsfx.rsp @ echo process_.o >> unzipsfx.rsp @ echo ttyio_.o >> unzipsfx.rsp @ echo msdos_.o >> unzipsfx.rsp $(CC) $(LDFLAGS)$@ $(DEF) @unzipsfx.rsp $(LDFLAGS2) @ $(RM) unzipsfx.rsp# dependenciesapihelp$(OBJ): apihelp.c $(UNZIP_H) version.hcrc32$(OBJ): crc32.c $(UNZIP_H) zip.hcrctab$(OBJ): crctab.c $(UNZIP_H) zip.henvargs$(OBJ): envargs.c $(UNZIP_H)explode$(OBJ): explode.c $(UNZIP_H)extract$(OBJ): extract.c $(UNZIP_H) crypt.hfileio$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.hglobals$(OBJ): globals.c $(UNZIP_H)inflate$(OBJ): inflate.c $(UNZIP_H)list$(OBJ): list.c $(UNZIP_H)match$(OBJ): match.c $(UNZIP_H)process$(OBJ): process.c $(UNZIP_H)ttyio$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.hunreduce$(OBJ): unreduce.c $(UNZIP_H)unshrink$(OBJ): unshrink.c $(UNZIP_H)unzip$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.hapi$(OBJ): api.c $(UNZIP_H) version.hzipinfo$(OBJ): zipinfo.c $(UNZIP_H)funzip$(OBJ): funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h # funzip only $(CC) -c $(CFLAGS) $(OUT)$@ funzip.cmsdos$(OBJ): msdos/msdos.c $(UNZIP_H) version.h # DOS only $(CC) -c $(CFLAGS) $(OUT)$@ msdos$(DIRSEP)msdos.cmsdos_$(OBJ): msdos/msdos.c $(UNZIP_H) # DOS unzipsfx $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ msdos$(DIRSEP)msdos.ccrc_gcc$(OBJ): crc_i386.S # 32bit, GNU AS $(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S# NFLAGS are solely used as work-around for optimization bug in IBM C++ Setcrypt$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(CFLAGS) $(DLLFLAG) $(NFLAGS) $(OUT)$@ crypt.ccryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only $(CC) -c $(CFLAGS) $(NFLAGS) -DFUNZIP $(OUT)$@ crypt.ccrc32f$(OBJ): crc32.c $(UNZIP_H) zip.h # funzip only $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ crc32.cglobalsf$(OBJ): globals.c $(UNZIP_H) # funzip only $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ globals.cinflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ inflate.cttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only $(CC) -c $(CFLAGS) $(NFLAGS) -DFUNZIP $(OUT)$@ ttyio.ccrc32_$(OBJ): crc32.c $(UNZIP_H) zip.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crc32.ccrctab_$(OBJ): crctab.c $(UNZIP_H) zip.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crctab.ccrypt_$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crypt.cextract_$(OBJ): extract.c $(UNZIP_H) crypt.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ extract.cfileio_$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ fileio.cglobals_$(OBJ): globals.c $(UNZIP_H) # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ globals.cinflate_$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ inflate.cmatch_$(OBJ): match.c $(UNZIP_H) # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ match.cprocess_$(OBJ): process.c $(UNZIP_H) # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ process.cttyio_$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ ttyio.cunzipsf_$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ unzip.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -