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

📄 makefile

📁 完整的解压zip文件的源码。包含密码功能
💻
字号:
######################################################################## Makefile for Info-ZIP's unzip, unzipsfx, and funzip on BeOS## Copyright (c) 1998 Info-ZIP#             Chris Herborth (chrish@qnx.com)## This is the new New and Improved Makefile for BeOS; it will:## 1) automatically detect your platform (PowerPC or x86) if none is#    specified; the default compiler is CodeWarrior for PowerPC, or#    gcc for x86## 2) let you cross-compile for the other platform (PowerPC or x86), in#    theory## 3) let you use Metrowerks CodeWarrior (default) or GNU C to build with#    for either platfor, in theory## To choose a specific architecture, define the ARCH environment# variable on the make command-line:## ARCH=what make -f beos/Makefile## where "what" can be "powerpc" or "x86".## To choose a specific compiler, define the CC environment variable on# the make command-line:## CC=compiler make -f beos/Makefile## where "compiler" can be "mwcc" or "x86".## Of course, you can combine these two:## ARCH=powerpc CC=mwcc make -f beos/Makefile## or:## CC=gcc ARCH=x86 make -f beos/Makefile## To automatically install the fresh new unzip, use the "install" target:## make -f beos/Makefile install####################################################################### Things that don't change:SHELL = /bin/sh# Punish those of you not running on SMP hardware...MAKE  = make -j 4 -f beos/MakefileLOC=$(LOCAL_UNZIP) -DPASSWD_FROM_STDINAF=$(LOC)# UnZipSfx flagsSL = -o unzipsfxSL2 = $(LF2)# fUnZip flagsFL = -o funzipFL2 = $(LF2)# general-purpose stuffCP = cpRM = rm -fLN = ln -sfE =O = .oM = beos# defaults for crc32 stuff and system-dependent headersCRC32 = crc32OSDEP_H = beos/beos.h# 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$O $(BEOS_MAIN)LOBJS = $(OBJS)OBJSDLL = $(OBJS) api$OOBJX = unzipsfx$O $(CRC32)$O crctab$O crypt$O extract_$O fileio$O globals$O \	inflate$O match$O process_$O ttyio$O $M_$O $(BEOS_MAIN)LOBJX = $(OBJX)OBJF = funzip$O $(CRC32)$O crypt_$O globals_$O inflate_$O ttyio_$OUNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)# installationINSTALL = install# on some systems, manext=l and MANDIR=/usr/man/man$(manext) may be appropriatemanext = 1prefix = /boot/home/configBINDIR = $(prefix)/bin#			where to install executablesMANDIR = $(prefix)/man/man$(manext)#	where to install man pagesINSTALLEDBIN = $(BINDIR)/funzip$E $(BINDIR)/zipinfo$E $(BINDIR)/unzipsfx$E \	$(BINDIR)/unzip$EINSTALLEDMAN = $(MANDIR)/unzip.$(manext) $(MANDIR)/funzip.$(manext) \	$(MANDIR)/unzipsfx.$(manext) $(MANDIR)/zipinfo.$(manext)#UNZIPS = unzip$E funzip$E unzipsfx$E zipinfo$E# this is a little ugly...well, no, it's a lot ugly:MANS = unix/unzip.1 unix/unzipsfx.1 unix/zipinfo.1 unix/funzip.1DOCS = unzip.doc unzipsfx.doc zipinfo.doc funzip.doc####################################################################### Things that change:# Select an architecture:ifndef ARCHMACHINE=$(shell uname -m)ifeq "$(MACHINE)" "BePC"ARCH=x86CC=gccelseARCH=powerpcCC=mwccendifendif# Now select compiler flags and whatnot based on the ARCH and CC:WHAT=$(ARCH)-$(CC)ifeq "$(WHAT)" "powerpc-mwcc"CC=mwccppcLD=mwccppcCF=-w9 -O7 -opt schedule604 -rostr -I. $(LOC)LF=-o unzipLF2=-warn -L/boot/develop/lib/ppc -lbe -lrootBEOS_MAIN=beosmain$OTARGET=$(UNZIPS)endififeq "$(WHAT)" "powerpc-gcc"CC=gccLD=gccCF=-O3 -mcpu=604 -Wall -ansi -I. -I/boot/develop/headers/be/support \   -I/boot/develop/headers/be/storage $(LOC)LF=-o unzipLF2=-L/boot/develop/lib/ppc -lbe -lrootBEOS_MAIN=beosmain$OTARGET=$(UNZIPS)endif# This isn't likely to happen for R4 or later...ifeq "$(WHAT)" "x86-mwcc"CC=mwccx86LD=mwccx86CF=-O2 -w9 -I. $(LOC)LF=-o unzipLF2=-warn -L/boot/develop/lib/x86 -lbe -lrootBEOS_MAIN=beosmain$OTARGET=$(UNZIPS)endififeq "$(WHAT)" "x86-gcc"CC=gccLD=gccCF=-O3 -mcpu=i586 -Wall -ansi -I. -I/boot/develop/headers/be/support \   -I/boot/develop/headers/be/storage $(LOC)LF=-o unzipLF2=-L/boot/develop/lib/x86 -lbe -lrootBEOS_MAIN=beosmain$OTARGET=$(UNZIPS)endififndef TARGETTARGET=helpendif####################################################################### Helpful targetsall:	@echo 'TARGET = $(TARGET)'	@echo 'ARCH   = $(ARCH)'	@echo 'CC     = $(CC)'	if [ -n "$(TARGET)" ] ; then \		$(MAKE) CC=$(CC) CF="$(CF)" LD="$(LD)" \			LF="$(LF)" LF2="$(LF2)" CCPP="$(CC)" CPPF="$(CF)" \			OBJS="$(OBJS)" LOBJS="$(LOBJS)" OBJX="$(OBJX)" \			LOBJX="$(LOBJX)" $(TARGET) ; \	else \		$(MAKE) help ; \	fihelp:	@echo ''	@echo "This Makefile lets you build Info-ZIP's zip."	@echo ''	@echo 'To build zip for this computer using the default compiler, just do:'	@echo ''	@echo '	make -f beos/Makefile'	@echo ''	@echo 'To build zip for a specific architecture using a specific'	@echo 'compiler, do:'	@echo ''	@echo '	ARCH=cpu CC=compiler make -f beos/Makefile'	@echo ''	@echo 'Where:'	@echo '	cpu is either "powerpc" or "x86"'	@echo '	compiler is either "mwcc" or "gcc"'	@echo ''####################################################################### Basic compile instructions and dependencies# this is for GNU make; comment out and notify zip-bugs if it causes errors.SUFFIXES:	.c .o# default for compiling C files.c.o:	$(CC) -c $(CF) $*.cunzips:		$(UNZIPS)objs:		$(OBJS)objsdll:	$(OBJSDLL)docs:		$(DOCS)unzipsman:	unzips docsunzipsdocs:	unzips docsunzip$E:	$(OBJS) beos/unzip.rsc	$(LD) $(LF) $(LOBJS) $(LF2)	chmod +x unzip$E	xres -o unzip$E beos/unzip.rsc	mimeset -f -all unzip$Eunzipsfx$E:	$(OBJX) beos/unzipsfx.rsc	$(LD) $(SL) $(LOBJX) $(SL2)	chmod +x unzipsfx$E	xres -o unzipsfx$E beos/unzipsfx.rsc	mimeset -f -all unzipsfxfunzip$E:	$(OBJF)	$(LD) $(FL) $(OBJF) $(FL2)	chmod +x funzip$Ezipinfo$E:	unzip$E	$(LN) unzip$E zipinfo$Ecrc32$O:	crc32.c $(UNZIP_H) zip.hcrctab$O:	crctab.c $(UNZIP_H) zip.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.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)inflate$O:	inflate.c inflate.h $(UNZIP_H)list$O:		list.c $(UNZIP_H)match$O:	match.c $(UNZIP_H)process$O:	process.c $(UNZIP_H)ttyio$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.hzipinfo$O:	zipinfo.c $(UNZIP_H)crypt_$O:	crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h	# funzip only	$(CP) crypt.c crypt_.c	$(CC) -c $(CF) -DFUNZIP crypt_.c	$(RM) crypt_.cextract_$O:	extract.c $(UNZIP_H) crypt.h			# unzipsfx only	$(CP) extract.c extract_.c	$(CC) -c $(CF) -DSFX extract_.c	$(RM) extract_.cglobals_$O:	globals.c $(UNZIP_H)				# funzip only	$(CP) globals.c globals_.c	$(CC) -c $(CF) -DFUNZIP globals_.c	$(RM) globals_.cinflate_$O:	inflate.c inflate.h $(UNZIP_H) crypt.h		# funzip only	$(CP) inflate.c inflate_.c	$(CC) -c $(CF) -DFUNZIP inflate_.c	$(RM) inflate_.cttyio_$O:	ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h	# funzip only	$(CP) ttyio.c ttyio_.c	$(CC) -c $(CF) -DFUNZIP ttyio_.c	$(RM) ttyio_.cprocess_$O:	process.c $(UNZIP_H)				# unzipsfx only	$(CP) process.c process_.c	$(CC) -c $(CF) -DSFX process_.c	$(RM) process_.cbeos$O:		beos/beos.c $(UNZIP_H) version.h		# BeOS only	$(CC) -c $(CF) beos/beos.cbeosmain$O:	beos/beosmain.cpp $(UNZIP_H) version.h	# BeOS only	$(CCPP) -c $(CPPF) beos/beosmain.cpp# version() not used by unzipsfx, so no version.h dependencybeos_$O:		beos/beos.c $(UNZIP_H)				# unzipsfx only	$(CP) beos/beos.c beos_.c	$(CC) -c $(CF) -Ibeos -DSFX beos_.c	$(RM) beos_.cbeosmain_$O:	beos/beosmain.cpp $(UNZIP_H)	$(CP) beos/beosmain.cpp beosmain_.cpp	$(CCPP) -c $(CPPF) -Ibeos -DSFX beosmain_.cpp	$(RM) beosmain_.cppunzipsfx$O:	unzip.c $(UNZIP_H) crypt.h version.h consts.h	# unzipsfx only	$(CP) unzip.c unzipsfx.c	$(CC) -c $(CF) -DSFX unzipsfx.c	$(RM) unzipsfx.c# this really only works for Unix targets, unless E and O specified on cmd lineclean:	-rm -f $(UNZIPS) $(OBJS) $(OBJF) $(OBJX) api$O apihelp$O crc_gcc$O \	  unzipstb$O beosmain.o beosmain_.oinstall:	all	$(INSTALL) -m 755 $(UNZIPS) $(BINDIR)	mimeset -f -all $(BINDIR)/unzip	mimeset -f -all $(BINDIR)/unzipsfx	$(RM) $(BINDIR)/zipinfo$E	$(LN) unzip$E $(BINDIR)/zipinfo$E	$(RM) $(BINDIR)/zipgrep$E	$(INSTALL) -m 755 unix/zipgrep $(BINDIR)/zipgrep$E	$(INSTALL) -m 644 unix/unzip.1 $(MANDIR)/unzip.$(manext)	$(INSTALL) -m 644 unix/unzipsfx.1 $(MANDIR)/unzipsfx.$(manext)	$(INSTALL) -m 644 unix/zipinfo.1 $(MANDIR)/zipinfo.$(manext)	$(INSTALL) -m 644 unix/funzip.1 $(MANDIR)/funzip.$(manext)	$(INSTALL) -m 644 $(DOCS) $(MANDIR)# alternatively, could use zip method:  -cd $(BINDIR); rm -f $(UNZIPS)  [etc.]uninstall:	rm -f $(INSTALLEDBIN) $(INSTALLEDMAN)TESTZIP = testmake.zip	# the test zipfile# test some basic features of the buildtest:		checkcheck:	unzips	@echo '  This is a Unix-specific target.  (Just so you know.)'	@echo '  (Should work ok on BeOS... [cjh])'	if test ! -f $(TESTZIP); then \		echo "  error:  can't find test file $(TESTZIP)"; exit 1; fi#	echo "  testing extraction"	./unzip -b $(TESTZIP) testmake.zipinfo	if test $? ; then \	    echo "  error:  file extraction from $(TESTZIP) failed"; exit 1; fi#	echo '  testing zipinfo (unzip -Z)'	./unzip -Z $(TESTZIP) > testmake.unzip-Z	if diff testmake.unzip-Z testmake.zipinfo; then ;; else \	    echo '  error:  zipinfo output doesn't match stored version'; fi	$(RM) testmake.unzip-Z testmake.zipinfo#	echo '  testing unzip -d exdir option'	./unzip -b $(TESTZIP) -d testun	cat testun/notes#	echo '  testing unzip -o and funzip (ignore funzip warning)'	./unzip -boq $(TESTZIP) notes -d testun	./funzip < $(TESTZIP) > testun/notes2	if diff testun/notes testun/notes2; then ;; else \	    echo 'error:  funzip output disagrees with unzip'; fi#	echo '  testing unzipsfx (self-extractor)'	cat unzipsfx $(TESTZIP) > testsfx	$(CHMOD) 0700 testsfx	./testsfx -b notes	if diff notes testun/notes; then ;; else \	    echo '  error:  unzipsfx file disagrees with unzip'; fi	$(RM) testsfx notes testun/notes testun/notes2	rmdir testun#	echo '  testing complete.'

⌨️ 快捷键说明

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