9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor:PACKAGE: ast cpp:force --clobber=!(nmake)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorLICENSE = since=1984,author=gsf
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorinclude "Version.mk"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorID = make
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorBINDINDEX ==
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorDEBUG == 1
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorRULES = Makerules.mk $(ALTRULES)
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorRULESFILES = Scanrules.mk S.mk SCCS.mk SYSTEM.mk TABLE.mk \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor debug.mk debug-package.mk \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor mkservice.mk yacc.mk \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor rules-win32.mk \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor pkg-tcl.mk pkg-X11.mk pkg-freetype.mk \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor pkg-cobol.mk pkg-cobol-cobc.mk pkg-cobol-mfcobc.mk
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorRULESDIR = $(LIBDIR)/$(ID)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorIDNAME == "$(ID)"
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorPATHCHECK == "$(ID)"
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorSTAMP == "\n@(#)\$Id: $(ID) ($(OWNER)) $(VERSION:?$$(VERSION) ??)$(RELEASE:?$$(RELEASE) ??)$(DATE) \$\0\n"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor__OBSOLETE__ == $("6 months ago":@F=%(%Y0101)T)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylornmake :: Version.mk nmake.1 \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor $(RULES) $(RULESFILES) \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor make.h expand.h options.h \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor archive.c bind.c command.c dump.c expand.c main.c make.c \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor mam.c metarule.c misc.c object.c option.c parse.c read.c \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor rule.c scan.c state.c trap.c variable.c version.c \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor -lcoshell -lardir
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor"darwin.*" :NOOPTIMIZE: command.c
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor"win32*" :NOOPTIMIZE: expand.c object.c parse.c
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor$(RULESDIR) :INSTALLDIR: Makeinstall.mk $(RULES) $(RULESFILES) ppcc
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylornmake.1 : nmake nmake.1.body nmake.1.tail
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor ignore $(*:O=1) --nroff 2>&1 | $(SED) -e '/itself/r $(*:O=2)' -e '/fBsh/r $(*:O=3)' > $(<)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor:: nmake.mm PROMO.mm FEATURES HISTORY README RELEASE REFERENCES
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorppcc :: ppcc.sh
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor:INSTALLDIR: convert
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylorconvert :: convert.c
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor:TEST: -- assert assign attribute automatic baserules common diagnostics \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor edit immediate implicit internal interrupt metarule option panic \
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor prereq quoting recurse scan shell state statement syntax view
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor
9e39c5ba00a55fa05777cc94b148296af305e135Bill TaylorMakeinstall.mk : $$(-mam:N=static*:??$$(-cctype|cctype:@P=P=C,pp)?)
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor {
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor echo '/* : : generated from $(-cctype|cctype) assertions : : */'
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor set -
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor f=$(*|"`$(LIBDIR)/probe/probe -kg C pp $(-cctype|cctype:Q)`")
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor a="`$(SED) -n -e 's/^#define #\(.*\)(\(.*\))/_\1_/p' $f | sort -u` _feature_ STDCAT STDCHMOD STDCMP STDCP STDED STDEDFLAGS STDLN STDMV STDRM"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor for n in $a
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor do eval $n=
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor done
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor eval `$(SED) -n -e 's/^#define #\(.*\)(\(.*\))/_\1_="$_\1_ \2"/p' $f`
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor : some systems botch the symlink and sticky dir combo
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor rm -rf /tmp/mkl$$
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor mkdir /tmp/mkl$$
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor text='hard link'
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor echo "$text" > /tmp/mkl$$/nl
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor ( ln /tmp/mkl$$/nl /tmp/mkl$$/hl ) 2>/dev/null &&
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor case `cat /tmp/mkl$$/hl` in
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor "$text") _feature_="$_feature_ ln" ;;
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor esac
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor ln -s /tmp/mkl$$/hl /tmp/mkl$$/sl 2>/dev/null && rm /tmp/mkl$$/sl && _feature_="$_feature_ ln-s"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor ( /bin/mkdir -p /tmp/mkl$$/mk/dir ) 2>/dev/null &&
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor test ! -d ./-p &&
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor _feature_="$_feature_ mkdir-p"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor rm -rf ./-p /tmp/mkl$$ || true
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor if ( ed ) < /dev/null > /dev/null 2>&1
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor then STDED=ed
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor else STDED=ex
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor fi
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor STDEDFLAGS=-
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor set STDCAT cat STDCHMOD chmod STDCMP cmp STDCP cp STDLN ln STDMV mv STDRM rm
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor while :
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor do case $# in
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor 0|1) break ;;
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor esac
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor p=$2
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor for d in /bin /usr/bin /usr/sbin
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor do if test -x $d/$p
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor then p=$d/$p
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor break
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor fi
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor done
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor eval $1=\$p
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor shift
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor shift
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor done
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor if test -x /bin/cat.exe
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor then if /bin//cat /bin/cat >/dev/null 2>&1
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor then : ok
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor else : .exe challenged
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor for n in STDCAT STDCHMOD STDCMP STDCP STDLN STDMV STDRM
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor do eval $n=\"execrate \$$n\"
9e39c5ba00a55fa05777cc94b148296af305e135Bill Taylor done
fi
fi
set -x
for n in $a
do eval echo \$n = \$$n
done
} > $(<)
local T
for T $(RULES:B)
$(T:F=%(lower)s:D=$$(RULESDIR):B:S=.mo) :INSTALL: $(T:B:S=.mo)
end
:MSGKEY: nmake
/*
* this works around a master source race condition
*/
MAKE = $(INSTALLROOT)/bin/nmake
.MAKEINIT : .TARGETS
.TARGETS : .MAKE
$(RULESDIR)/makerules.mo :