⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.emx

📁 给出了 zip 压缩算法的完整实现过程。
💻 EMX
字号:
# Makefile for Zip, ZipCloak, ZipNote and ZipSplit# using emx 0.9c+rsxnt for Windows 95/98 and Windows NT and emx 0.9c for DOS.# By Kai-Uwe Rommel, Chr. Spieler, E-Yen Tan (and others).# Last updated 30th June 1998.## Supported Make utilities:# - Microsoft/IBM nmake (e.g. from MSC 6.0 or newer)# - dmake 3.8 or higher# - GNU make, at least version 3.68 (GNUish 16-bit port, RSXNT Make 3.75,#   DJGPP v1.12 Make 3.71, some versions of DJGPP v2.x 32-bit Make;#   current DJGPP v2.01 Make 3.76.1 does NOT work)# - NOT watcom make# The "smart" Make utilities mentioned below are Christian Spieler's# enhanced version of GNUish 16-bit Make (3.74) and his adaption of these# GNU Make sources to EMX (32-bit).# Supported 32-bit C Compilers (created programs run under WinNT/Win95 only):# - GNU gcc (emx/rsxnt kit 0.9c or newer)# Supported Cross-Compilers for MS-DOS:# - GNU gcc (emx kit 0.9c or newer, 32-bit)# Supported Assemblers:# - GNU as with GNU gcc# To use, enter "make/nmake/dmake -f win32/makefile.emx"# (this makefile depends on its name being "win32/makefile.emx").# Add -DDYN_ALLOC to ASFLAGS if you have defined it in tailor.h or CFLAGS# Note: assembly language modules are really only supported for# GNU gcc 32-bit compilation.default:	@echo "Enter $(MAKE) -f win32/makefile.emx target"	@echo "where target is one of:"	@echo "   gcc gccso gccdyn gccdebug gcczl gccdos gccdoszl"	@echo "   -----------------------------------------------"	@echo "Or, specify a specific target for a partial build,"	@echo "This uses >gcc< setup (win32 statically linked binary)"# emx 0.9c, gcc, PE format, statically linked C runtime and rsxnt.dllgcc:	all# emx 0.9c, gcc, PE format, statically linked C runtime, standalonegccso:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -Zwin32 -Zsys -O2 -m486 -Wall" \	CFLAGS="-DWIN32 -DASM_CRC" \	AS="gcc -Zwin32" \	ASFLAGS="-Di386" \	LDFLAGS="-o ./" \	LDFLAGS2="-ladvapi32 -s" \	OUT="-o" \	OBJ=".o" \	CRC32="crc_gcc" \	OBJA="matchgcc.o" \	DEF="win32/zip.def"# emx 0.9c, gcc, PE format, dynamically linked C runtime and rsxnt.dllgccdyn:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -Zwin32 -Zcrtdll=crtrsxnt -O2 -m486 -Wall" \	CFLAGS="-DWIN32 -DASM_CRC" \	AS="gcc -Zwin32" \	ASFLAGS="-Di386" \	LDFLAGS="-o ./" \	LDFLAGS2="-ladvapi32 -s" \	OUT="-o" \	OBJ=".o" \	CRC32="crc_gcc" \	OBJA="matchgcc.o" \	DEF="win32/zip.def"# emx 0.9c, gcc, PE format, with debug info for gdbgccdebug:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -Zwin32 -O2 -g -Wall" \	CFLAGS="-DWIN32 -DASM_CRC" \	AS="gcc -Zwin32" \	ASFLAGS="-Di386" \	LDFLAGS="-o ./" \	LDFLAGS2="-ladvapi32 -Zsmall-conv" \	OUT="-o" \	OBJ=".o" \	CRC32="crc_gcc" \	OBJA="matchgcc.o" \	DEF="win32/zip.def"# emx 0.9c, gcc, PE format,, statically linked zlib, C runtime, and rsxnt.dllgcczl:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -Zwin32 -O2 -m486 -Wall" \	CFLAGS="-DWIN32 -DUSE_ZLIB" \	AS="gcc -Zwin32" \	ASFLAGS="-Di386 -DUSE_ZLIB" \	LDFLAGS="-o ./" \	LDFLAGS2="-L. -lzlib -ladvapi32 -s" \	OUT="-o" \	OBJ=".o" \	CRC32="crc32" \	OBJA="" \	DEF="win32/zip.def"# emx 0.9c, gcc, a.out format, for MS-DOSgccdos:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -O2 -m486 -Wall" \	CFLAGS="-DDOS -DMSDOS -DASM_CRC" \	AS="gcc" \	ASFLAGS="-Di386" \	LDFLAGS="-o ./" \	LDFLAGS2="-s -Zsmall-conv" \	OUT="-o" \	OBJ=".o" \	CRC32="crc_gcc" \	OBJA="matchgcc.o" \	OBJZS="msdos.o" \	OBJUS="msdos_.o" \	OSDEP_H="msdos/osdep.h" \	ZIPUP_H="msdos/zipup.h"# emx 0.9c, gcc, a.out format, for MS-DOS, using zlibgccdoszl:	$(MAKE) -f win32/makefile.emx all \	CC="gcc -O2 -m486 -Wall" \	CFLAGS="-DDOS -DMSDOS -DUSE_ZLIB" \	AS="gcc" \	ASFLAGS="-Di386 -DUSE_ZLIB" \	LDFLAGS="-o ./" \	LDFLAGS2="-L. -lzlib -s -Zsmall-conv" \	OUT="-o" \	OBJ=".o" \	CRC32="crc32" \	OBJA="" \	OBJZS="msdos.o" \	OBJUS="msdos_.o" \	OSDEP_H="msdos/osdep.h" \	ZIPUP_H="msdos/zipup.h"# VPATH = .;win32# variables#default settings for target dependent macros:# the "gcc" (statically linked Win32 executables) target:CC=gcc -Zwin32 -O2 -m486 -WallCFLAGS=-DWIN32 -DASM_CRCAS=gcc -Zwin32ASFLAGS=-Di386LDFLAGS=-o ./LDFLAGS2=-ladvapi32 -s -Zsmall-convOUT=-oOBJ=.oCRC32=crc_gccOBJA=matchgcc.oOSDEP_H=win32/osdep.hZIPUP_H=win32/zipup.hDEF=win32/zip.defDIRSEP = /AS_DIRSEP = /RM = delLOCAL_OPTS = $(LOCAL_ZIP)CCFLAGS = $(CFLAGS) $(LOCAL_OPTS)OBJZ1 = zip$(OBJ) zipfile$(OBJ) zipup$(OBJ) fileio$(OBJ) util$(OBJ) \	$(CRC32)$(OBJ) crctab$(OBJ)OBJZ2 = globals$(OBJ) deflate$(OBJ) trees$(OBJ) crypt$(OBJ) \	ttyio$(OBJ)OBJZS =	win32zip$(OBJ) win32$(OBJ) nt$(OBJ)OBJZ  = $(OBJZ1) $(OBJZ2) $(OBJZS) $(OBJA)OBJU1 = zipfile_$(OBJ) fileio_$(OBJ) util_$(OBJ) globals$(OBJ)OBJUS = win32_$(OBJ)OBJU  = $(OBJU1) $(OBJUS)OBJN  = zipnote$(OBJ) $(OBJU)OBJS  = zipsplit$(OBJ) $(OBJU)OBJC1 = zipcloak$(OBJ) crctab$(OBJ) crypt_$(OBJ) ttyio$(OBJ)OBJC  = $(OBJC1) $(OBJU)ZIP_H = zip.h ziperr.h tailor.h $(OSDEP_H)# rules.SUFFIXES: .c $(OBJ).c$(OBJ):	$(CC) -c -I. $(CCFLAGS) $(OUT)$@ $<# targetsall:	zip.exe zipnote.exe zipsplit.exe zipcloak.exezip$(OBJ):	zip.c $(ZIP_H) revision.h crypt.h ttyio.hzipfile$(OBJ):	zipfile.c $(ZIP_H)zipup$(OBJ):	zipup.c $(ZIP_H) revision.h crypt.h $(ZIPUP_H)fileio$(OBJ):	fileio.c $(ZIP_H)util$(OBJ):	util.c $(ZIP_H)globals$(OBJ):	globals.c $(ZIP_H)deflate$(OBJ):	deflate.c $(ZIP_H)trees$(OBJ):	trees.c $(ZIP_H)crc32$(OBJ):	crc32.c $(ZIP_H)crctab$(OBJ):	crctab.c $(ZIP_H)crypt$(OBJ):	crypt.c $(ZIP_H) crypt.h ttyio.httyio$(OBJ):	ttyio.c $(ZIP_H) crypt.h ttyio.hmsdos$(OBJ):	msdos/msdos.c $(ZIP_H)	$(CC) -c -I. $(CCFLAGS) msdos$(DIRSEP)msdos.cwin32zip$(OBJ):	win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h	$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32zip.cwin32$(OBJ):	win32/win32.c $(ZIP_H) win32/win32zip.h	$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32.cnt$(OBJ):	win32/nt.c $(ZIP_H) win32/nt.h	$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)nt.ccrc_gcc$(OBJ):	crc_i386.S					# 32bit, GNU AS	$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.Smatchgcc$(OBJ):	match.S	$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ match.Szipcloak$(OBJ):	zipcloak.c $(ZIP_H) revision.h crypt.h ttyio.hzipnote$(OBJ):	zipnote.c $(ZIP_H) revision.hzipsplit$(OBJ): zipsplit.c $(ZIP_H) revision.hzipfile_$(OBJ):	zipfile.c $(ZIP_H)	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ zipfile.cfileio_$(OBJ):	fileio.c $(ZIP_H)	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ fileio.cutil_$(OBJ):	util.c $(ZIP_H)	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ util.ccrypt_$(OBJ):	crypt.c $(ZIP_H) crypt.h ttyio.h	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ crypt.cmsdos_$(OBJ):	msdos/msdos.c $(ZIP_H)	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ msdos$(DIRSEP)msdos.cwin32_$(OBJ):	win32/win32.c $(ZIP_H) win32/win32zip.h	$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ win32$(DIRSEP)win32.czip.exe: $(OBJZ)# for DUMB make utilities, uncomment the following commands:	-@$(RM) zip.rsp	@for %%f in ($(OBJZ1)) do echo %%f >> zip.rsp	@for %%f in ($(OBJZ2)) do echo %%f >> zip.rsp	@for %%f in ($(OBJZS) $(OBJA)) do echo %%f >> zip.rsp	$(CC) $(LDFLAGS)$@ @zip.rsp $(LDFLAGS2)	@$(RM) zip.rsp# smart make utilities (like well done ports of GNU Make) can use this:#	$(CC) $(LDFLAGS)$@ $(OBJZ) $(LDFLAGS2)zipcloak.exe: $(OBJC)# for DUMB make utilities, uncomment the following commands:	-@$(RM) zipcloak.rsp	@for %%f in ($(OBJC1)) do echo %%f >> zipcloak.rsp	@for %%f in ($(OBJU1)) do echo %%f >> zipcloak.rsp	@for %%f in ($(OBJUS)) do echo %%f >> zipcloak.rsp	$(CC) $(LDFLAGS)$@ @zipcloak.rsp $(LDFLAGS2)	@$(RM) zipcloak.rsp# smart make utilities (like well done ports of GNU Make) can use this:#	$(CC) $(LDFLAGS)$@ $(OBJC) $(LDFLAGS2)zipnote.exe: $(OBJN)# for DUMB make utilities, uncomment the following commands:	-@$(RM) zipnote.rsp	@for %%f in ($(OBJN)) do echo %%f >> zipnote.rsp	$(CC) $(LDFLAGS)$@ @zipnote.rsp $(LDFLAGS2)	@$(RM) zipnote.rsp# smart make utilities (like well done ports of GNU Make) can use this:#	$(CC) $(LDFLAGS)$@ $(OBJN) $(LDFLAGS2)zipsplit.exe: $(OBJS)# for DUMB make utilities, uncomment the following commands:	-@$(RM) zipsplit.rsp	@for %%f in ($(OBJN)) do echo %%f >> zipsplit.rsp	$(CC) $(LDFLAGS)$@ @zipsplit.rsp $(LDFLAGS2)	@$(RM) zipsplit.rsp# smart make utilities (like well done ports of GNU Make) can use this:#	$(CC) $(LDFLAGS)$@ $(OBJS) $(LDFLAGS2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -