📄 makefile
字号:
stellar: unzips # gs-2000sun: unzips # old target; no good with solaris...use "sunos" nowsunos: unzips # Sun 3, 4; SunOS 4.x (SOME SYSTEMS ARE SYSTEM V!)tahoe: unzips # tahoe (CCI Power6/32), 4.3BSDultrix: unzips # VAXen, DEC 58x0 (MIPS guts), DECstation 2100; v4.xvax: unzips # general-purpose VAX target (not counting VMS)xenix: unzips # Xenix/386 (tested on 2.3.1); SCO Unix 3.2.0.#----------------------------------------------------------------------------# BSD group (for timezone structs [struct timeb]):#----------------------------------------------------------------------------bsd: _bsd # generic BSD (BSD 4.2 & Ultrix handled in unzip.h)bsd386: _bsd # BSDI BSD/386 version 1.0_bsd: unix_make $(MAKE) unzips CF="$(CF) -DBSD"#----------------------------------------------------------------------------# SysV group (for extern long timezone and ioctl.h instead of sgtty.h):#----------------------------------------------------------------------------aix_rt: _sysv # IBM RT 6150 under AIX 2.2.1amdahl: _sysv # Amdahl (IBM) mainframe, UTS (SysV) 1.2.4 and 2.0.1aviion: _sysv # Data General AViiONs, DG/UX 4.3xpyr_att: _sysv # Pyramids running AT&T (SysV) universe by defaultsgi: _sysv # Silicon Graphics Iris 4D, Irix 3.3.2, 4.0.x (5.x?)solaris: _sysv # Sun SPARC & x86, Solaris 2.xsysv: _sysv # generic System V Unix (Xenix handled in unzip.h)xos: _sysv # Olivetti LSX-3005..3045, X/OS 2.3 and 2.4_sysv: unix_make $(MAKE) unzips CF="$(CF) -DSYSV"#----------------------------------------------------------------------------# Version 7 group (old/obsolescent):#----------------------------------------------------------------------------pixel: _v7 # Pixel 80, 100 (68000-based, V7/mostly BSD4.1 compat.)v7: _v7 # generic Unix Version 7 box (prob. only Pixel...)_v7: make unzips CF="$(CF) -DV7 -DNO_PARAM_H -DSHORT_NAMES -DBSD -DZMEM"#----------------------------------------------------------------------------# "Unique" group (require non-standard options):#----------------------------------------------------------------------------# AT&T 7300 (M68000/SysV.3) (add -DSYSV? -DNO_LIMITS?)7300: unix_make $(MAKE) unzips CF="$(CF) -DNO_DIR -DNO_MKDIR -DNO_STRNICMP"7300_gcc: unix_make $(MAKE) unzips CC=gcc LD=gcc LF2="" \ CF="-O2 -I. -DNO_DIR -DNO_MKDIR -DNO_STDLIB_H -DNO_STRNICMP $(LOC)" $(STRIP) $(UNZIPS)# IBM AIX 3.x on an RS/6000: see rs6000 target belowaix: rs6000# Amdahl UTS 2.1.4 with "extended file types" filesystem (aarrrggghhhh...)amdahl_eft: unix_make $(MAKE) unzips CF="$(CF) -eft -DSYSV"# MS-DOS: Borland C++ 3.0 (can change UnZip memory model to small for more# speed but no ZipInfo support [-ml -> -ms in _bcc_dos], but may run out of# memory when inflating--should not be true anymore in 5.11)bcc_dos: _bcc_dos fu_bcc sfx_bcc_bcc_dos: bcc_rsp # v-- change to -ml for large model $(MAKE) unzip.exe CF="-w -ms -O2 -I. $(LOC)" CC=bcc LD=bcc E=.exe\ O=.obj M=msdos LOBJS="" LF="@bcc_rsp" LF2="" del bcc_rspbcc_rsp: echo $(OBJS1:.o=.obj) > bcc_rsp echo msdos.obj $(OBJS2:.o=.obj) >> bcc_rspfu_bcc: $(MAKE) funzip.exe CF="-w -ms -O2 -I. $(LOC)" CC=bcc LD=bcc E=.exe\ O=.obj FL="" FL2="" CP=copy RM=delsfx_bcc: $(MAKE) unzipsfx.exe CF="-w -ms -O2 -I. $(LOC)" CC=bcc LD=bcc E=.exe\ O=.obj SL="" SL2="" CP=copy RM=del# Coherent 3.x/4.x, Mark Williams C. ``For Coherent's CC, it needs either# -T0 or -T150000 (or bigger) added to the CFLAGS, otherwise the compiler# runs out of memory and dies in zipinfo.c.'' [Fred "Fredex" Smith, 940719]coherent: unix_make $(MAKE) unzips CF="$(CF) -T0"# Cray-2 and Y-MP, running Unicos 5.1 to 6.1 (SysV + BSD enhancements)# and Standard (ANSI) C compiler 1.5, 2.0 or 3.0.cray_scc: unix_make $(MAKE) unzips CC=scc LD=scc# Ditto, for Cray Standard C 3.0 or later.cray_v3: unix_make $(MAKE) unzips CC="scc" LD="scc" CF="$(CF) -h scalar3 -h vector3"# The unzip41 build on a Cyber 910/SGI running Irix v3.3.3 was successful# with the following change to Makefile:cyber_sgi: unix_make $(MAKE) unzips CF="$(CF) -I/usr/include/bsd"\ LF="-lbsd $(LF)" SL="-lbsd $(SL)"# 680x0, DIAB dnix 5.2/5.3 (a Swedish System V clone)## Options for the dnix cc:# -X7 = cc is strict ANSI C# -X9 = warnings if a function is used without a declaration#dnix: unix_make $(MAKE) unzips CF="$(CF) -X7 -X9 -DDNIX"# Generic BSDish Unix gcc. ``The -O2 only works with the latest version of# gcc; you may have to use -O only for earlier versions. I have no idea why# -s causes this bug in gcc.'' [Bug: "nm: unzip: no name list", "collect:# /usr/bin/nm returned 1 exit status".] If you don't have strip, don't# worry about it (it just makes the executable smaller and can be replaced# with "echo" instead).#gcc: unix_make $(MAKE) unzips CC=gcc LD=gcc CF="-O2 -I. $(LOC)" LF2="" $(STRIP) $(UNZIPS)# MS-DOS with D.J. Delorie's djgpp 1.12. Note that earlier versions of go32# (< 1.11) don't support DOS function 0x38 (necessary for "unzip -v foobar").# Note also that this set of targets has work-arounds for three bugs in the# older version (3.69) of GNU make formerly distributed with djgpp: (1) it# sets the MAKE variable incorrectly for spawning with COMMAND.COM (forward# slashes instead of backslashes--fixed in 3.71 by not spawning COMMAND.COM),# so the usual $(MAKE) has been replaced by "make"; (2) it doesn't handle# makefile continuation lines correctly, most likely because of the MS-DOS# CR-LF line-endings (seems to be fixed in 3.71?), so long lines are used;# and (3) it doesn't handle quotes as in CF="-O2 -Wall etc." correctly, so# these macros have been changed to "CF=-O2 -Wall etc." where necessary. The# newer GNU make (version 3.71) does not handle quotes correctly and has no# known work-around, so don't bother to use it. Likewise, the emx version# of GNU make 3.71 which is maintained by Kai Uwe Rommel has other fatal bugs# involving the shell (necessary for recursive targets like this one).# GRR 940430, 940723, 940814#gcc_dos: _gcc_dos fu_gcc sfx_gcc# this target may be used with djgpp 1.12m1 or later; replace "_gcc_dos" above# with "_gcc_dos_new":_gcc_dos_new: gcc_rsp make unzip CC=gcc LD=gcc M=msdos "CF=-O2 -Wall -I. $(LOC)" LOBJS="" "LF=-o unzip @gcc_rsp" LF2="" $(STRIP) unzip coff2exe unzip# use this instead if you want to create a stand-alone executable (bigger)# coff2exe -s go32.exe unzip stubedit unzip.exe globbing=no# del gcc_rsp# del unzip coff2exe -g zipinfo stubedit zipinfo.exe runfile=unzip.exe globbing=no_gcc_dos: gcc_rsp make unzip CC=gcc LD=gcc M=msdos "CF=-O2 -Wall -I. $(LOC)" LOBJS="" "LF=-o unzip @gcc_rsp" LF2=""# $(MAKE) unzip CC=gcc LD=gcc M=msdos "CF=-O2 -Wall -I. $(LOC)"\# LOBJS="" LF="-o unzip @gcc_rsp" LF2="" $(STRIP) unzip coff2exe unzip# use this instead if you want to create a stand-alone executable (bigger)# coff2exe -s go32.exe unzip stubedit unzip.exe globbing=no# del gcc_rsp# del unzip## @echo Ignore the following bogus error message:# -@copy < nul > zipinfo -@find " " < nul > zipinfo coff2exe zipinfo stubedit zipinfo.exe runfile=unzip.exe globbing=no del zipinfogcc_rsp: echo $(OBJS1) > gcc_rsp echo $(OBJS2) msdos.o >> gcc_rspfu_gcc: make funzip CC=gcc LD=gcc "CF=-Wall -O2 -I. $(LOC)" FL2="" CP=copy RM=del# $(MAKE) funzip CC=gcc LD=gcc "CF=-Wall -O2 -I. $(LOC)" FL2=""\# CP=copy RM=del coff2exe funzip# use this instead if you want to create a stand-alone executable (bigger)# coff2exe -s go32.exe funzip# del funzipsfx_gcc: make unzipsfx CC=gcc LD=gcc M=msdos "CF=-Wall -O2 -I. $(LOC)" SL2="" CP=copy RM=del# $(MAKE) unzipsfx CC=gcc LD=gcc M=msdos "CF=-Wall -O2 -I. $(LOC)"\# SL2="" CP=copy RM=del $(STRIP) unzipsfx coff2exe unzipsfx# use this instead if you want to create a stand-alone executable (bigger)# coff2exe -s go32.exe unzipsfx stubedit unzipsfx.exe globbing=no# del unzipsfx# Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000hk68: unix_make $(MAKE) unzips CC="gcc" LD="gcc"\ LF="-n $(LF)" SL="-n $(SL)" FL="-n $(FL)"\ CF="-ga -X138 -I. $(LOC) -Dlocaltime=localti -Dtimezone=timezon"# Rules needed to build the unzip program for an SGI Iris Indigo running# Irix Version 4.0.1#indigo:# $(MAKE) unzips CF="-cckr $(CF) -DSYSV $(LOC)"# Linux pre-0.96 + gcc 2.1; also 0.99.13 + gcc 2.4.5. Linux is Posix# (almost SysV but not quite). [apparently don't need -DSHORT_NAMES]linux: unix_make $(MAKE) unzips CC=gcc LD=gcc# $(MAKE) unzips CF="$(CF) -DLINUX" CC=gcc LD=gcc (linux pre-defined?)# Minix 1.5 PC for the 386. Invoke as is to use default cc, or as "make# minix CC=gcc" to use gcc. Try "make linux" if you have a working termios.h.minix: unix_make $(MAKE) unzips CF="$(CF) -DMINIX -DSHORT_NAMES" CC=$(CC) LD=$(CC)# MS-DOS: Microsoft C 6.0 and NMAKE. "nmake msc_dos" works fine, aside# from an irrelevant message (possibly) about the creation of a temporary# file. Environment variable LOCAL_UNZIP (or CL) should be set via "SET# LOCAL_UNZIP=-FPi87" if you use the 80x87 library; also add -G2 or -G3 if# using a 286/386/486. Note that setting too many things via LOCAL_UNZIP# may make the command line too long for the default COMMAND.COM shell, so# use CL instead in that case. With VC++ Pro, -O2 instead of -Oait seems to# work OK and makes the executables slightly faster. Use at your own risk.#msc_dos: _msc_dos fu_msc sfx_msc# can change UnZip memory model (-AS) to large (-AL) if necessary, but should# no longer be necessary in UnZip 5.11 and later_msc_dos: msc_rsp $(MAKE) unzip.exe CF="-AS -W3 -Oait -Gs -nologo -I. $(LOC)" CC=cl\ LD=link E=.exe O=.obj M=msdos LOBJS="" LF="@msc_rsp" LF2="" del msc_rspmsc_rsp: echo $(OBJS1:.o=.obj) + > msc_rsp echo msdos.obj $(OBJS2:.o=.obj)/noi/e/st:0x0c00; >> msc_rspfu_msc: set CL=-AS -Oait -Gs -nologo -I. $(MAKE) funzip.exe CF="$(LOC)" CC=cl LD=link E=.exe O=.obj\ FL="/noi/nol/e" FL2=",funzip;" RM=del CP=copysfx_msc: set CL=-AS -Oait -Gs -nologo -I. $(MAKE) unzipsfx.exe CF="$(LOC)" CC=cl LD=link E=.exe O=.obj M=msdos\ SL="/noi/nol/e" SL2=",unzipsfx;" RM=del CP=copy# $(NOD): intended to be used as SET NOD=-link /nod:slibcep to allow the# use of default library names (slibce.lib) instead of protected-mode# names (slibcep.lib), but it fails: MSC adds its own /nod qualifier,# and there seems to be no way to override this. Typical...## THIS TARGET RETAINED AS AN EXAMPLE ONLY. USE MAKEFILE.OS2.##msc_os2: # 16-bit OS/2 (1.x) with MSC 6.00 (use makefile.os2)# $(MAKE) -nologo unzips CC=cl LD=cl E=.exe O=.obj\# OBJS="$(OBJS_OS2)" OBJZ="$(OBJZ_OS2)"\# CF="-nologo -AC -Ocegit -G2s -DOS2 -DMSC $(LOC)"\# LF="-nologo -AC $(LOC) -Lp -F 2000"\# LF2="unzip.def -o unzip.exe $(NOD)" CP=copy RM=del\# ZL="-nologo -AC $(LOC) -Lp -Fb" ZL2="zipinfo.def -o zipinfo.exe"# NeXT info.next: @echo @echo\ ' Please pick a specific NeXT target: "make next10" will create a generic' @echo\ ' NeXT executable; "make next2x" will create a smaller executable (for' @echo\ ' NeXTstep 2.0 and higher); "make next3x" will create a small executable' @echo\ ' with significantly better optimization (NeXTstep 3.0 and higher only);' @echo\ ' "make nextfat" will create a fat, multi-architecture (NeXT plus Intel)' @echo\ ' executable (NeXTstep 3.1 and higher only).' @echo# 68030 BSD 4.3+Mach. NeXT 2.x: make the executable smaller.next2x: unix_make $(MAKE) unzips LF2="-object -s"# NeXT 3.x: as above, plus better optimization.next3x: unix_make $(MAKE) unzips CF="-O2 -I. $(LOC)" LF2="-object -s"# NeXT 3.1+: make the executable fat (multi-architecture binary [MAB],# for "black" [NeXT] and "white" [x86] hardware, so far).nextfat: unix_make $(MAKE) unzips CF="-O2 -I. $(LOC) -arch i386 -arch m68k" \ LF2="-arch i386 -arch m68k -object -s"# Sequent Symmetry running Dynix/ptx (sort of SysV.3): needs to link# with libseq to get symlink().ptx: unix_make $(MAKE) unzips CF="$(CF) -DSYSV -DTERMIO -DPTX" LF2="$(LF2) -lseq"# Pyramid 90X (probably all) under >= OSx4.1, either universe. (This is an# experimental target! If it fails, use either pyr_ucb or pyr_att instead.)# The make in the BSD half is too stupid to understand $(MAKE), sigh...pyramid: unix_make -make pyr_`universe`# REGULUS: 68040-based, "real-time" SysV.3 mutant; uses gcc, with "REGULUS"# predefined.regulus: unix_make $(MAKE) unzips CF="$(CF) -traditional -DSYSV -DNO_MKDIR"# IBM RS/6000 under AIX 3.2rs6000: unix_make $(MAKE) unzips CF="$(CF) -DBSD -D_BSD -DUNIX" LF2="-lbsd"# SCO cross compile from Unix to DOS. Tested with Xenix/386 and OpenDeskTop.# Should work with Xenix/286 as well. (davidsen) Note that you *must* remove# the Unix objects and executable before doing this! (Piet Plomp: gcc won't# recognize the -M0 flag which forces 8086 code.) (GRR: may need to reduce# stack to 0c00h if using 286/small-model code...?)sco_dos: unix_make $(MAKE) unzips CF="-O -I. $(LOC) -dos -M0" M=msdos\ LF="-dos -F 2000" LF2="-o unzip.exe"\ FL="-dos" FL2="-o funzip.exe" SL="-dos" SL2="-o unzipsfx.exe"# SCO UNIX with shared libraries and no international support. If you are# not using a USA-style keyboard and display, you may want to remove -nointl# to get support. It adds quite a bit to the size of the executable.sco_sl: unix_make $(MAKE) unzips LF="$(LF) -nointl" LF2="$(LF2) -lc_s"\ SL="$(SL) -nointl" FL="$(FL) -nointl"# SCO Xenix/286 2.3.3 with 2.2.1 development systemsco_x286: unix_make $(MAKE) unzips CF="$(CF) -Mel2 -LARGE -DTERMIO" LF="$(LF) -Mel2 -LARGE"# Sequent Symmetry with Dynix. (386, but needs -DZMEM)# This should also work on Balance but I can't test it just yet.sequent: unix_make $(MAKE) unzips CF="$(CF) -DBSD -DZMEM"# Generic System V + GNU Csysv_gcc: unix_make $(MAKE) unzips CC=gcc LD=gcc CF="-O2 -I. -DSYSV $(LOC)" LF2="" $(STRIP) $(UNZIPS)# AT&T 6300+, System V.2 Unix: run-time out-of-memory error if don't use -Ml;# also compile-time error if work arrays dimensioned at HSIZE+2 (>32K)sysv6300: unix_make $(MAKE) unzips CF="$(CF) -Ml -DSYSV" LF="$(LF) -Ml"\ SL="$(SL) -Ml" FL="$(FL) -Ml"# Wombat 68000 (or whatever).# I didn't do this. I swear. No, really.wombat: unix_make @echo @echo ' Ha ha! Just kidding.' @echo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -