1:PACKAGE: ast cpp:force --clobber=!(nmake) 2 3LICENSE = since=1984,author=gsf 4 5include "Version.mk" 6 7ID = make 8 9BINDINDEX == 10DEBUG == 1 11 12RULES = Makerules.mk $(ALTRULES) 13RULESFILES = Scanrules.mk S.mk SCCS.mk SYSTEM.mk TABLE.mk \ 14 debug.mk debug-package.mk \ 15 mkservice.mk yacc.mk \ 16 rules-win32.mk \ 17 pkg-tcl.mk pkg-X11.mk pkg-freetype.mk \ 18 pkg-cobol.mk pkg-cobol-cobc.mk pkg-cobol-mfcobc.mk 19RULESDIR = $(LIBDIR)/$(ID) 20 21IDNAME == "$(ID)" 22PATHCHECK == "$(ID)" 23STAMP == "\n@(#)\$Id: $(ID) ($(OWNER)) $(VERSION:?$$(VERSION) ??)$(RELEASE:?$$(RELEASE) ??)$(DATE) \$\0\n" 24 25__OBSOLETE__ == $("6 months ago":@F=%(%Y0101)T) 26 27nmake :: Version.mk nmake.1 \ 28 $(RULES) $(RULESFILES) \ 29 make.h expand.h options.h \ 30 archive.c bind.c command.c dump.c expand.c main.c make.c \ 31 mam.c metarule.c misc.c object.c option.c parse.c read.c \ 32 rule.c scan.c state.c trap.c variable.c version.c \ 33 -lcoshell -lardir 34 35"darwin.*" :NOOPTIMIZE: command.c 36"win32*" :NOOPTIMIZE: expand.c object.c parse.c 37 38$(RULESDIR) :INSTALLDIR: Makeinstall.mk $(RULES) $(RULESFILES) ppcc 39 40nmake.1 : nmake nmake.1.body nmake.1.tail 41 ignore $(*:O=1) --nroff 2>&1 | $(SED) -e '/itself/r $(*:O=2)' -e '/fBsh/r $(*:O=3)' > $(<) 42 43:: nmake.mm PROMO.mm FEATURES HISTORY README RELEASE REFERENCES 44 45ppcc :: ppcc.sh 46 47:INSTALLDIR: convert 48 49convert :: convert.c 50 51:TEST: -- assert assign attribute automatic baserules common diagnostics \ 52 edit immediate implicit internal interrupt metarule option panic \ 53 prereq quoting recurse scan shell state statement syntax view 54 55Makeinstall.mk : $$(-mam:N=static*:??$$(-cctype|cctype:@P=P=C,pp)?) 56 { 57 echo '/* : : generated from $(-cctype|cctype) assertions : : */' 58 set - 59 f=$(*|"`$(LIBDIR)/probe/probe -kg C pp $(-cctype|cctype:Q)`") 60 a="`$(SED) -n -e 's/^#define #\(.*\)(\(.*\))/_\1_/p' $f | sort -u` _feature_ STDCAT STDCHMOD STDCMP STDCP STDED STDEDFLAGS STDLN STDMV STDRM" 61 for n in $a 62 do eval $n= 63 done 64 eval `$(SED) -n -e 's/^#define #\(.*\)(\(.*\))/_\1_="$_\1_ \2"/p' $f` 65 : some systems botch the symlink and sticky dir combo 66 rm -rf /tmp/mkl$$ 67 mkdir /tmp/mkl$$ 68 text='hard link' 69 echo "$text" > /tmp/mkl$$/nl 70 ( ln /tmp/mkl$$/nl /tmp/mkl$$/hl ) 2>/dev/null && 71 case `cat /tmp/mkl$$/hl` in 72 "$text") _feature_="$_feature_ ln" ;; 73 esac 74 ln -s /tmp/mkl$$/hl /tmp/mkl$$/sl 2>/dev/null && rm /tmp/mkl$$/sl && _feature_="$_feature_ ln-s" 75 ( /bin/mkdir -p /tmp/mkl$$/mk/dir ) 2>/dev/null && 76 test ! -d ./-p && 77 _feature_="$_feature_ mkdir-p" 78 rm -rf ./-p /tmp/mkl$$ || true 79 if ( ed ) < /dev/null > /dev/null 2>&1 80 then STDED=ed 81 else STDED=ex 82 fi 83 STDEDFLAGS=- 84 set STDCAT cat STDCHMOD chmod STDCMP cmp STDCP cp STDLN ln STDMV mv STDRM rm 85 while : 86 do case $# in 87 0|1) break ;; 88 esac 89 p=$2 90 for d in /bin /usr/bin /usr/sbin 91 do if test -x $d/$p 92 then p=$d/$p 93 break 94 fi 95 done 96 eval $1=\$p 97 shift 98 shift 99 done 100 if test -x /bin/cat.exe 101 then if /bin//cat /bin/cat >/dev/null 2>&1 102 then : ok 103 else : .exe challenged 104 for n in STDCAT STDCHMOD STDCMP STDCP STDLN STDMV STDRM 105 do eval $n=\"execrate \$$n\" 106 done 107 fi 108 fi 109 set -x 110 for n in $a 111 do eval echo \$n = \$$n 112 done 113 } > $(<) 114 115local T 116 117for T $(RULES:B) 118 $(T:F=%(lower)s:D=$$(RULESDIR):B:S=.mo) :INSTALL: $(T:B:S=.mo) 119end 120 121:MSGKEY: nmake 122 123/* 124 * this works around a master source race condition 125 */ 126 127MAKE = $(INSTALLROOT)/bin/nmake 128 129.MAKEINIT : .TARGETS 130 131.TARGETS : .MAKE 132 $(RULESDIR)/makerules.mo : 133