summaryrefslogtreecommitdiff
path: root/pkgtools/bootstrap-mk-files
diff options
context:
space:
mode:
authortcort <tcort>2011-11-06 21:01:30 +0000
committertcort <tcort>2011-11-06 21:01:30 +0000
commitabb600ba91d52b1850147ebac3a849107b10a43e (patch)
tree48514478c16662ecdfc03b711e81a7e6a5c16c4a /pkgtools/bootstrap-mk-files
parenteee752d2739681e412aacb587f52837381041a11 (diff)
downloadpkgsrc-abb600ba91d52b1850147ebac3a849107b10a43e.tar.gz
Add Minix specific Makefiles to bootstrap-mk-files. PR pkg/45045
Diffstat (limited to 'pkgtools/bootstrap-mk-files')
-rw-r--r--pkgtools/bootstrap-mk-files/Makefile5
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.lib.mk525
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.man.mk191
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.own.mk.in286
-rw-r--r--pkgtools/bootstrap-mk-files/files/mods/Minix.sys.mk198
5 files changed, 1202 insertions, 3 deletions
diff --git a/pkgtools/bootstrap-mk-files/Makefile b/pkgtools/bootstrap-mk-files/Makefile
index e6d535b5449..d39497c4023 100644
--- a/pkgtools/bootstrap-mk-files/Makefile
+++ b/pkgtools/bootstrap-mk-files/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.26 2011/10/31 23:41:21 sbd Exp $
+# $NetBSD: Makefile,v 1.27 2011/11/06 21:01:30 tcort Exp $
-DISTNAME= bootstrap-mk-files-20090807
-PKGREVISION= 3
+DISTNAME= bootstrap-mk-files-20111106
CATEGORIES= pkgtools
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.lib.mk b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.lib.mk
new file mode 100644
index 00000000000..88c8d178bb2
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.lib.mk
@@ -0,0 +1,525 @@
+# $NetBSD: Minix.bsd.lib.mk,v 1.1 2011/11/06 21:01:30 tcort Exp $
+# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
+
+.if !target(__initialized__)
+__initialized__:
+.if exists(${.CURDIR}/../Makefile.inc)
+.include "${.CURDIR}/../Makefile.inc"
+.endif
+.include <bsd.own.mk>
+.include <bsd.obj.mk>
+.include <bsd.depall.mk>
+.MAIN: all
+.endif
+
+.PHONY: checkver cleanlib libinstall
+realinstall: checkver libinstall
+clean cleandir: cleanlib
+
+.if exists(${SHLIB_VERSION_FILE})
+SHLIB_MAJOR != . ${SHLIB_VERSION_FILE} ; echo $$major
+SHLIB_MINOR != . ${SHLIB_VERSION_FILE} ; echo $$minor
+SHLIB_TEENY != . ${SHLIB_VERSION_FILE} ; echo $$teeny
+
+# Check for higher installed library versions.
+.if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \
+ exists(${BSDSRCDIR}/lib/checkver)
+checkver:
+ @(cd ${.CURDIR} && \
+ sh ${BSDSRCDIR}/lib/checkver -v ${SHLIB_VERSION_FILE} \
+ -d ${DESTDIR}${LIBDIR} ${LIB})
+.endif
+.endif
+
+.if !target(checkver)
+checkver:
+.endif
+
+print-shlib-major:
+.if defined(SHLIB_MAJOR)
+ @echo ${SHLIB_MAJOR}
+.else
+ @false
+.endif
+
+print-shlib-minor:
+.if defined(SHLIB_MINOR)
+ @echo ${SHLIB_MINOR}
+.else
+ @false
+.endif
+
+print-shlib-teeny:
+.if defined(SHLIB_TEENY)
+ @echo ${SHLIB_TEENY}
+.else
+ @false
+.endif
+
+.if defined(SHLIB_MAJOR) && !empty(SHLIB_MAJOR)
+.if defined(SHLIB_MINOR) && !empty(SHLIB_MINOR)
+.if defined(SHLIB_TEENY) && !empty(SHLIB_TEENY)
+SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.${SHLIB_TEENY}
+.else
+SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}
+.endif
+.else
+SHLIB_FULLVERSION=${SHLIB_MAJOR}
+.endif
+.endif
+
+# add additional suffixes not exported.
+# .po is used for profiling object files.
+# .so is used for PIC object files.
+.SUFFIXES: .out .a .ln .so .po .o .s .S .c .cc .C .m .F .f .r .y .l .cl .p .h
+.SUFFIXES: .sh .m4 .m
+
+
+# Set PICFLAGS to cc flags for producing position-independent code,
+# if not already set. Includes -DPIC, if required.
+
+# Data-driven table using make variables to control how shared libraries
+# are built for different platforms and object formats.
+# OBJECT_FMT: currently either "ELF" or "a.out", from <bsd.own.mk>
+# SHLIB_SOVERSION: version number to be compiled into a shared library
+# via -soname. Usualy ${SHLIB_MAJOR} on ELF.
+# NetBSD/pmax used to use ${SHLIB_MAJOR}[.${SHLIB_MINOR}
+# [.${SHLIB_TEENY}]]
+# SHLIB_SHFLAGS: Flags to tell ${LD} to emit shared library.
+# with ELF, also set shared-lib version for ld.so.
+# SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors
+# SHLIB_LDENDFILE: support .o file, call C++ file-level destructors
+# FPICFLAGS: flags for ${FC} to compile .[fF] files to .so objects.
+# CPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS}
+# CPICFLAGS: flags for ${CC} to compile .[cC] files to .so objects.
+# CAPICFLAGS flags for {$CC} to compiling .[Ss] files
+# (usually just ${CPPPICFLAGS} ${CPICFLAGS})
+# APICFLAGS: flags for ${AS} to assemble .[sS] to .so objects.
+
+.if ${MACHINE_ARCH} == "alpha"
+ # Alpha-specific shared library flags
+FPICFLAGS ?= -fPIC
+CPICFLAGS ?= -fPIC -DPIC
+CPPPICFLAGS?= -DPIC
+CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
+APICFLAGS ?=
+.elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb"
+ # mips-specific shared library flags
+
+# On mips, all libs are compiled with ABIcalls, not just sharedlibs.
+MKPICLIB= no
+
+# so turn shlib PIC flags on for ${AS}.
+AINC+=-DABICALLS
+AFLAGS+= -fPIC
+AS+= -KPIC
+
+.elif ${MACHINE_ARCH} == "vax" && ${OBJECT_FMT} == "ELF"
+# On the VAX, all object are PIC by default, not just sharedlibs.
+MKPICLIB= no
+
+.elif (${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64") && \
+ ${OBJECT_FMT} == "ELF"
+
+FPICFLAGS ?= -fPIC
+CPICFLAGS ?= -fPIC -DPIC
+CPPPICFLAGS?= -DPIC
+CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
+APICFLAGS ?= -KPIC
+
+.else
+
+# Platform-independent flags for NetBSD a.out shared libraries (and PowerPC)
+SHLIB_LDSTARTFILE=
+SHLIB_LDENDFILE=
+SHLIB_SOVERSION=${SHLIB_FULLVERSION}
+SHLIB_SHFLAGS=
+FPICFLAGS ?= -fPIC
+CPICFLAGS?= -fPIC -DPIC
+CPPPICFLAGS?= -DPIC
+CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
+APICFLAGS?= -k
+
+.endif
+
+# Minix does not support shared libraries yet
+MKPICLIB?= no
+
+# Platform-independent linker flags for ELF shared libraries
+.if ${OBJECT_FMT} == "ELF"
+SHLIB_SOVERSION= ${SHLIB_MAJOR}
+SHLIB_SHFLAGS= -soname lib${LIB}.so.${SHLIB_SOVERSION}
+SHLIB_LDSTARTFILE?= ${DESTDIR}/usr/lib/crtbeginS.o
+SHLIB_LDENDFILE?= ${DESTDIR}/usr/lib/crtendS.o
+.endif
+
+CFLAGS+= ${COPTS}
+FFLAGS+= ${FOPTS}
+
+.c.o:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.c} ${.IMPSRC}
+.else
+ @echo ${COMPILE.c:Q} ${.IMPSRC}
+ @${COMPILE.c} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.c.po:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.c:Q} -pg ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.c.so:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.c.ln:
+ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
+
+.cc.o .C.o:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.cc} ${.IMPSRC}
+.else
+ @echo ${COMPILE.cc:Q} ${.IMPSRC}
+ @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.cc.po .C.po:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.cc:Q} -pg ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.cc.so .C.so:
+.if defined(COPTS) && !empty(COPTS:M*-g*)
+ ${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.f.o:
+.if defined(FOPTS) && !empty(FOPTS:M*-g*)
+ ${COMPILE.f} ${.IMPSRC}
+.else
+ @echo ${COMPILE.f:Q} ${.IMPSRC}
+ @${COMPILE.f} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.f.po:
+.if defined(FOPTS) && !empty(FOPTS:M*-g*)
+ ${COMPILE.f} -pg ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.f:Q} -pg ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.f} -pg ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.f.so:
+.if defined(FOPTS) && !empty(FOPTS:M*-g*)
+ ${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.f:Q} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.f.ln:
+ ${ECHO} Skipping lint for Fortran libraries.
+
+.m.o:
+.if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*)
+ ${COMPILE.m} ${.IMPSRC}
+.else
+ @echo ${COMPILE.m:Q} ${.IMPSRC}
+ @${COMPILE.m} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.m.po:
+.if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*)
+ ${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.m:Q} -pg ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.m.so:
+.if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*)
+ ${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+.else
+ @echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+.endif
+
+.S.o .s.o:
+ @echo ${COMPILE.S:Q} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC}
+ @${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+.S.po .s.po:
+ @echo ${COMPILE.S:Q} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.S} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+.S.so .s.so:
+ @echo ${COMPILE.S:Q} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
+ @${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
+ @${LD} -r ${.TARGET}.o -o ${.TARGET}
+ @rm -f ${.TARGET}.o
+
+.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
+ || ${MKLINKLIB} != "no"
+_LIBS=lib${LIB}.a
+.else
+_LIBS=
+.endif
+
+OBJS+=${SRCS:N*.h:N*.sh:R:S/$/.o/g}
+
+.if ${MKPROFILE} != "no"
+_LIBS+=lib${LIB}_p.a
+POBJS+=${OBJS:.o=.po}
+.endif
+
+.if ${MKPIC} != "no"
+.if ${MKPICLIB} == "no"
+SOLIB=lib${LIB}.a
+.else
+SOLIB=lib${LIB}_pic.a
+_LIBS+=${SOLIB}
+SOBJS+=${OBJS:.o=.so}
+.endif
+.if defined(SHLIB_FULLVERSION)
+_LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION}
+.endif
+.endif
+
+LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
+.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
+_LIBS+=llib-l${LIB}.ln
+.endif
+
+.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
+ || ${MKLINKLIB} != "no"
+ALLOBJS=${OBJS} ${POBJS} ${SOBJS}
+.else
+ALLOBJS=${POBJS} ${SOBJS}
+.endif
+.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
+ALLOBJS+=${LOBJS}
+.endif
+.NOPATH: ${ALLOBJS} ${_LIBS}
+
+realall: ${SRCS} ${ALLOBJS:O} ${_LIBS}
+
+__archivebuild: .USE
+ @rm -f ${.TARGET}
+ ${AR} cq ${.TARGET} ${.ALLSRC:M*o}
+ ${RANLIB} ${.TARGET}
+
+__archiveinstall: .USE
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \
+ -g ${LIBGRP} -m 600 ${.ALLSRC} ${.TARGET}
+ ${RANLIB} -t ${.TARGET}
+ chmod ${LIBMODE} ${.TARGET}
+
+DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
+CLEANFILES+= ${DPSRCS}
+.if defined(YHEADER)
+CLEANFILES+= ${SRCS:M*.y:.y=.h}
+.endif
+
+lib${LIB}.a:: ${OBJS} __archivebuild
+ @echo building standard ${LIB} library
+
+lib${LIB}_p.a:: ${POBJS} __archivebuild
+ @echo building profiled ${LIB} library
+
+lib${LIB}_pic.a:: ${SOBJS} __archivebuild
+ @echo building shared object ${LIB} library
+
+lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} \
+ ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
+ @echo building shared ${LIB} library \(version ${SHLIB_FULLVERSION}\)
+ @rm -f lib${LIB}.so.${SHLIB_FULLVERSION}
+.if defined(DESTDIR)
+ $(LD) -nostdlib -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
+ ${SHLIB_LDSTARTFILE} \
+ --whole-archive ${SOLIB} \
+ --no-whole-archive ${LDADD} \
+ -L${DESTDIR}${LIBDIR} -R${LIBDIR} \
+ ${SHLIB_LDENDFILE}
+.else
+ $(LD) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
+ ${SHLIB_LDSTARTFILE} \
+ --whole-archive ${SOLIB} --no-whole-archive ${LDADD} \
+ ${SHLIB_LDENDFILE}
+.endif
+.if ${OBJECT_FMT} == "ELF"
+ ln -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.${SHLIB_MAJOR}.tmp
+ mv -f lib${LIB}.so.${SHLIB_MAJOR}.tmp lib${LIB}.so.${SHLIB_MAJOR}
+ ln -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.tmp
+ mv -f lib${LIB}.so.tmp lib${LIB}.so
+.endif
+
+.if !empty(LOBJS)
+LLIBS?= -lc
+llib-l${LIB}.ln: ${LOBJS}
+ @echo building llib-l${LIB}.ln
+ @rm -f llib-l${LIB}.ln
+ @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}
+.endif
+
+cleanlib:
+ rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
+ rm -f lib${LIB}.a ${OBJS}
+ rm -f lib${LIB}_p.a ${POBJS}
+ rm -f lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${SOBJS}
+ rm -f llib-l${LIB}.ln ${LOBJS}
+
+.if defined(SRCS)
+afterdepend: .depend
+ @(TMP=/tmp/_depend$$$$; \
+ sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \
+ < .depend > $$TMP; \
+ mv $$TMP .depend)
+.endif
+
+.if !target(libinstall)
+# Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no
+libinstall::
+
+.if ${MKLINKLIB} != "no"
+libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a
+.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a
+.endif
+
+.if !defined(BUILD) && !make(all) && !make(lib${LIB}.a)
+${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE
+.endif
+${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall
+.endif
+
+.if ${MKPROFILE} != "no"
+libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
+.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
+.endif
+
+.if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a)
+${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE
+.endif
+${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall
+.endif
+
+.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no"
+libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
+.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
+.endif
+
+.if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a)
+${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE
+.endif
+.if ${MKPICLIB} == "no"
+${DESTDIR}${LIBDIR}/lib${LIB}_pic.a:
+ rm -f ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
+ ln -s lib${LIB}.a ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
+.else
+${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall
+.endif
+.endif
+
+.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION)
+libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
+.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}
+.endif
+
+.if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_FULLVERSION})
+${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}: .MADE
+.endif
+${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_FULLVERSION}: lib${LIB}.so.${SHLIB_FULLVERSION}
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \
+ -g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${.TARGET}
+.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR)
+ /sbin/ldconfig -m ${LIBDIR}
+.endif
+.if ${OBJECT_FMT} == "ELF"
+ ln -sf lib${LIB}.so.${SHLIB_FULLVERSION}\
+ ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.tmp
+ mv -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.tmp\
+ ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
+.if ${MKLINKLIB} != "no"
+ ln -sf lib${LIB}.so.${SHLIB_FULLVERSION}\
+ ${DESTDIR}${LIBDIR}/lib${LIB}.so.tmp
+ mv -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.tmp\
+ ${DESTDIR}${LIBDIR}/lib${LIB}.so
+.endif
+.endif
+.endif
+
+.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS)
+libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
+.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
+.endif
+
+.if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln)
+${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE
+.endif
+${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} -o ${LIBOWN} \
+ -g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR}
+.endif
+.endif
+
+.include <bsd.man.mk>
+.include <bsd.nls.mk>
+.include <bsd.files.mk>
+.include <bsd.inc.mk>
+.include <bsd.links.mk>
+.include <bsd.dep.mk>
+.include <bsd.sys.mk>
+
+# Make sure all of the standard targets are defined, even if they do nothing.
+lint regress:
diff --git a/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.man.mk b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.man.mk
new file mode 100644
index 00000000000..5e59bc207bd
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.man.mk
@@ -0,0 +1,191 @@
+# $NetBSD: Minix.bsd.man.mk,v 1.1 2011/11/06 21:01:30 tcort Exp $
+# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
+
+.if !target(__initialized__)
+__initialized__:
+.if exists(${.CURDIR}/../Makefile.inc)
+.include "${.CURDIR}/../Makefile.inc"
+.endif
+.include <bsd.own.mk>
+.include <bsd.obj.mk>
+.include <bsd.depall.mk>
+.MAIN: all
+.endif
+
+.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman html installhtml cleanhtml
+.if ${MKMAN} != "no"
+realinstall: ${MANINSTALL}
+.endif
+cleandir: cleanman
+
+HTMLDIR?= ${DESTDIR}/usr/share/man
+MANTARGET?= cat
+MANDOC?= mandoc -Tascii
+TBL?= tbl
+
+.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \
+ .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9 \
+ .html1 .html2 .html3 .html4 .html5 .html6 .html7 .html8 .html9
+
+.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1:
+.if !defined(USETBL)
+ @echo "${MANDOC} ${.IMPSRC} > ${.TARGET}"
+ ${MANDOC} ${.IMPSRC} > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.else
+ @echo "${TBL} ${.IMPSRC} | ${MANDOC} > ${.TARGET}"
+ @${TBL} ${.IMPSRC} | ${MANDOC} > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.endif
+
+.9.html9 .8.html8 .7.html7 .6.html6 .5.html5 .4.html4 .3.html3 .2.html2 .1.html1:
+.if !defined(USETBL)
+ @echo "${MANDOC} -Thtml ${.IMPSRC} > ${.TARGET}"
+ @${MANDOC} -Thtml ${.IMPSRC} > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.else
+ @echo "${TBL} ${.IMPSRC} | ${MANDOC} -Thtml > ${.TARGET}"
+ @cat ${.IMPSRC} | ${MANDOC} -Thtml > ${.TARGET} || \
+ (rm -f ${.TARGET}; false)
+.endif
+
+.if defined(MAN) && !empty(MAN)
+MANPAGES= ${MAN}
+CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
+.NOPATH: ${CATPAGES}
+.if !defined(NOHTML)
+HTMLPAGES= ${MANPAGES:C/(.*).([1-9])/\1.html\2/}
+.endif
+.endif
+
+MINSTALL= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \
+ -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
+
+.if defined(MANZ)
+# chown and chmod are done afterward automatically
+MCOMPRESS= gzip -cf
+MCOMPRESSSUFFIX= .gz
+.endif
+
+catinstall: catlinks
+maninstall: manlinks
+
+__installpage: .USE
+.if defined(MCOMPRESS) && !empty(MCOMPRESS)
+ @rm -f ${.TARGET}
+ ${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
+ @chown ${MANOWN}:${MANGRP} ${.TARGET}
+ @chmod ${MANMODE} ${.TARGET}
+.else
+ @cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \
+ (echo "${MINSTALL} ${.ALLSRC} ${.TARGET}" && \
+ ${MINSTALL} ${.ALLSRC} ${.TARGET})
+.endif
+
+# Rules for cat'ed man page installation
+.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no"
+catpages:: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}@}
+.PRECIOUS: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}@}
+.if !defined(UPDATE)
+.PHONY: ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}@}
+.endif
+
+. for P in ${CATPAGES:O:u}
+. if !defined(BUILD) && !make(all) && !make(${P})
+${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE
+. endif
+${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage
+. endfor
+.else
+catpages::
+.endif
+
+# Rules for source page installation
+.if defined(MANPAGES) && !empty(MANPAGES)
+manpages:: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.PRECIOUS: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.if !defined(UPDATE)
+.PHONY: ${MANPAGES:@P@${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}@}
+.endif
+
+. for P in ${MANPAGES:O:u}
+${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage
+. endfor
+.else
+manpages::
+.endif
+
+.if ${MKCATPAGES} != "no"
+catlinks: catpages
+.if defined(MLINKS) && !empty(MLINKS)
+ @set ${MLINKS}; \
+ while test $$# -ge 2; do \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
+ l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
+ t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
+ if test $$l -nt $$t -o ! -f $$t; then \
+ echo $$t -\> $$l; \
+ ln -f $$l $$t; \
+ fi; \
+ done
+.endif
+.else
+catlinks:
+.endif
+
+manlinks: manpages
+.if defined(MLINKS) && !empty(MLINKS)
+ @set ${MLINKS}; \
+ while test $$# -ge 2; do \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
+ l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ name=$$1; \
+ shift; \
+ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
+ t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
+ if test $$l -nt $$t -o ! -f $$t; then \
+ echo $$t -\> $$l; \
+ ln -f $$l $$t; \
+ fi; \
+ done
+.endif
+
+# Html rules
+html: ${HTMLPAGES}
+
+.if defined(HTMLPAGES) && !empty(HTMLPAGES)
+.for P in ${HTMLPAGES:O:u}
+${HTMLDIR}/${P:T:E}/${P:T:R}.html: ${P}
+ ${MINSTALL} ${.ALLSRC} ${.TARGET}
+.endfor
+.endif
+installhtml: ${HTMLPAGES:@P@${HTMLDIR}/${P:T:E}/${P:T:R}.html@}
+
+cleanhtml:
+.if defined(HTMLPAGES) && !empty(HTMLPAGES)
+ rm -f ${HTMLPAGES}
+.endif
+
+
+.if defined(CATPAGES)
+.if ${MKCATPAGES} != "no" && ${MKMAN} != "no"
+realall: ${CATPAGES}
+.else
+realall:
+.endif
+
+cleanman:
+ rm -f ${CATPAGES}
+.else
+cleanman:
+.endif
+
+# Make sure all of the standard targets are defined, even if they do nothing.
+clean depend includes lint regress tags:
diff --git a/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.own.mk.in b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.own.mk.in
new file mode 100644
index 00000000000..bb408ee65e6
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/Minix.bsd.own.mk.in
@@ -0,0 +1,286 @@
+# $NetBSD: Minix.bsd.own.mk.in,v 1.1 2011/11/06 21:01:30 tcort Exp $
+
+.if !defined(_BSD_OWN_MK_)
+_BSD_OWN_MK_=1
+
+.if defined(MAKECONF) && exists(${MAKECONF})
+.include "${MAKECONF}"
+.elif exists(@SYSCONFDIR@/mk.conf)
+.include "@SYSCONFDIR@/mk.conf"
+.elif exists(/etc/mk.conf)
+.include "/etc/mk.conf"
+.endif
+
+# Defining `SKEY' causes support for S/key authentication to be compiled in.
+SKEY= yes
+
+# where the system object and source trees are kept; can be configurable
+# by the user in case they want them in ~/foosrc and ~/fooobj, for example
+BSDSRCDIR?= /usr/src
+BSDOBJDIR?= /usr/obj
+
+BINGRP?= @ROOT_GROUP@
+BINOWN?= @ROOT_USER@
+BINMODE?= 555
+NONBINMODE?= 444
+
+# Define MANZ to have the man pages compressed (gzip)
+#MANZ= 1
+
+MANDIR?= /usr/share/man
+MANGRP?= @ROOT_GROUP@
+MANOWN?= @ROOT_USER@
+MANMODE?= ${NONBINMODE}
+MANINSTALL?= maninstall catinstall
+
+INFODIR?= /usr/share/info
+INFOGRP?= @ROOT_GROUP@
+INFOOWN?= @ROOT_USER@
+INFOMODE?= ${NONBINMODE}
+
+LIBDIR?= /usr/lib
+LINTLIBDIR?= /usr/libdata/lint
+LIBGRP?= ${BINGRP}
+LIBOWN?= ${BINOWN}
+LIBMODE?= ${NONBINMODE}
+
+DOCDIR?= /usr/share/doc
+HTMLDOCDIR?= /usr/share/doc/html
+DOCGRP?= @ROOT_GROUP@
+DOCOWN?= @ROOT_USER@
+DOCMODE?= ${NONBINMODE}
+
+NLSDIR?= /usr/share/nls
+NLSGRP?= @ROOT_GROUP@
+NLSOWN?= @ROOT_USER@
+NLSMODE?= ${NONBINMODE}
+
+KMODDIR?= /usr/lkm
+KMODGRP?= @ROOT_GROUP@
+KMODOWN?= @ROOT_USER@
+KMODMODE?= ${NONBINMODE}
+
+LOCALEDIR?= /usr/share/locale
+LOCALEGRP?= @ROOT_GROUP@
+LOCALEOWN?= @ROOT_USER@
+LOCALEMODE?= ${NONBINMODE}
+
+COPY?= -c
+.if defined(UPDATE)
+PRESERVE?= -p
+.else
+PRESERVE?=
+.endif
+.if defined(UNPRIVILEGED)
+INSTPRIV?= -U
+.endif
+STRIPFLAG?= -s
+
+# Define SYS_INCLUDE to indicate whether you want symbolic links to the system
+# source (``symlinks''), or a separate copy (``copies''); (latter useful
+# in environments where it's not possible to keep /sys publicly readable)
+#SYS_INCLUDE= symlinks
+
+# The sh3 port is incomplete.
+.if ${MACHINE_ARCH} == "sh3eb" || ${MACHINE_ARCH} == "sh3el"
+NOLINT=1
+NOPROFILE=1
+OBJECT_FMT?=COFF
+NOPIC?=1
+.endif
+
+# The sparc64 port is incomplete.
+# Profiling and linting is also off on the x86_64 port at the moment.
+.if ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "x86_64"
+NOPROFILE=1
+NOLINT=1
+.endif
+
+# The m68000 port is incomplete.
+.if ${MACHINE_ARCH} == "m68000"
+NOLINT=1
+NOPROFILE=1
+NOPIC?=1
+.endif
+
+# Data-driven table using make variables to control how
+# toolchain-dependent targets and shared libraries are built
+# for different platforms and object formats.
+# OBJECT_FMT: currently either "ELF" or "a.out".
+# SHLIB_TYPE: "ELF" or "a.out" or "" to force static libraries.
+#
+OBJECT_FMT?=a.out
+
+.if ${CC:M*gcc*} != ""
+.if ${MACHINE_ARCH} == "x86_64"
+CFLAGS+=-Wno-format -fno-builtin
+.endif
+.endif
+
+# Location of the file that contains the major and minor numbers of the
+# version of a shared library. If this file exists a shared library
+# will be built by <bsd.lib.mk>.
+SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version
+
+# GNU sources and packages sometimes see architecture names differently.
+# This table maps an architecture name to its GNU counterpart.
+# Use as so: ${GNU_ARCH.${TARGET_ARCH}} or ${MACHINE_GNU_ARCH}
+.ifndef MACHINE_GNU_ARCH
+GNU_ARCH.alpha=alpha
+GNU_ARCH.arm26=arm
+GNU_ARCH.arm32=arm
+GNU_ARCH.arm=arm
+GNU_ARCH.i386=i386
+GNU_ARCH.m68k=m68k
+GNU_ARCH.mipseb=mipseb
+GNU_ARCH.mipsel=mipsel
+GNU_ARCH.ns32k=ns32k
+GNU_ARCH.powerpc=powerpc
+GNU_ARCH.sh3eb=sh
+GNU_ARCH.sh3el=sh
+GNU_ARCH.sparc=sparc
+GNU_ARCH.sparc64=sparc64
+GNU_ARCH.vax=vax
+MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}}
+.endif
+
+# CPU model, derived from MACHINE_ARCH
+MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:S/arm26/arm/:S/arm32/arm/:C/sh3e[bl]/sh3/:S/m68000/m68k/}
+
+TARGETS+= all clean cleandir depend dependall includes \
+ install lint obj regress tags html installhtml cleanhtml
+.PHONY: all clean cleandir depend dependall distclean includes \
+ install lint obj regress tags beforedepend afterdepend \
+ beforeinstall afterinstall realinstall realdepend realall \
+ html installhtml cheanhtml
+
+# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes
+# this is used by bsd.pkg.mk to stop "install" being defined
+NEED_OWN_INSTALL_TARGET?= yes
+
+.if ${NEED_OWN_INSTALL_TARGET} == "yes"
+.if !target(install)
+install: .NOTMAIN beforeinstall subdir-install realinstall afterinstall
+beforeinstall: .NOTMAIN
+subdir-install: .NOTMAIN beforeinstall
+realinstall: .NOTMAIN beforeinstall
+afterinstall: .NOTMAIN subdir-install realinstall
+.endif
+all: .NOTMAIN realall subdir-all
+subdir-all: .NOTMAIN
+realall: .NOTMAIN
+depend: .NOTMAIN realdepend subdir-depend
+subdir-depend: .NOTMAIN
+realdepend: .NOTMAIN
+distclean: .NOTMAIN cleandir
+.endif
+
+PRINTOBJDIR= printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f-
+
+# Define MKxxx variables (which are either yes or no) for users
+# to set in /etc/mk.conf and override on the make commandline.
+# These should be tested with `== "no"' or `!= "no"'.
+# The NOxxx variables should only be used by Makefiles.
+#
+
+MKCATPAGES?=yes
+
+.if defined(NODOC)
+MKDOC=no
+#.elif !defined(MKDOC)
+#MKDOC=yes
+.else
+MKDOC?=yes
+.endif
+
+MKINFO?=yes
+
+.if defined(NOLINKLIB)
+MKLINKLIB=no
+.else
+MKLINKLIB?=yes
+.endif
+.if ${MKLINKLIB} == "no"
+MKPICINSTALL=no
+MKPROFILE=no
+.endif
+
+MKLINT?=no
+
+.if defined(NOMAN)
+MKMAN=no
+.else
+MKMAN?=yes
+.endif
+.if ${MKMAN} == "no"
+MKCATPAGES=no
+.endif
+
+.if defined(NONLS)
+MKNLS=no
+.else
+MKNLS?=yes
+.endif
+
+#
+# MKOBJDIRS controls whether object dirs are created during "make build".
+# MKOBJ controls whether the "make obj" rule does anything.
+#
+.if defined(NOOBJ)
+MKOBJ=no
+MKOBJDIRS=no
+.else
+MKOBJ?=yes
+MKOBJDIRS?=no
+.endif
+
+.if defined(NOPIC)
+MKPIC=no
+.else
+MKPIC?=yes
+.endif
+
+.if defined(NOPICINSTALL)
+MKPICINSTALL=no
+.else
+MKPICINSTALL?=yes
+.endif
+
+.if defined(NOPROFILE)
+MKPROFILE=no
+.else
+MKPROFILE?=yes
+.endif
+
+.if defined(NOSHARE)
+MKSHARE=no
+.else
+MKSHARE?=yes
+.endif
+.if ${MKSHARE} == "no"
+MKCATPAGES=no
+MKDOC=no
+MKINFO=no
+MKMAN=no
+MKNLS=no
+.endif
+
+.if defined(NOCRYPTO)
+MKCRYPTO=no
+.else
+MKCRYPTO?=yes
+.endif
+
+MKCRYPTO_IDEA?=no
+
+MKCRYPTO_RC5?=no
+
+.if defined(NOKERBEROS) || (${MKCRYPTO} == "no")
+MKKERBEROS=no
+.else
+MKKERBEROS?=yes
+.endif
+
+MKSOFTFLOAT?=no
+
+.endif # _BSD_OWN_MK_
diff --git a/pkgtools/bootstrap-mk-files/files/mods/Minix.sys.mk b/pkgtools/bootstrap-mk-files/files/mods/Minix.sys.mk
new file mode 100644
index 00000000000..5ca1f92c662
--- /dev/null
+++ b/pkgtools/bootstrap-mk-files/files/mods/Minix.sys.mk
@@ -0,0 +1,198 @@
+# $NetBSD: Minix.sys.mk,v 1.1 2011/11/06 21:01:30 tcort Exp $
+# @(#)sys.mk 8.2 (Berkeley) 3/21/94
+
+unix?= We run Unix.
+OS?= Minix
+
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
+.if !defined(NOGCCERROR)
+CFLAGS+= -Wno-error
+.endif
+
+.SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .F .f .r .y .l .cl .p .h
+.SUFFIXES: .sh .m4
+
+.LIBS: .a
+
+AR?= ar
+ARFLAGS?= rl
+RANLIB?= ranlib
+
+AS?= gas
+AFLAGS?=
+COMPILE.s?= ${CC} ${AFLAGS} -c
+LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS}
+COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
+LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+CC?= gcc
+DBG?=
+CFLAGS?= ${DBG}
+COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
+LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+CXX?= g++
+CXXFLAGS?= ${CFLAGS}
+COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
+LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+OBJC?= ${CC}
+OBJCFLAGS?= ${CFLAGS}
+COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
+LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+CPP?= cpp
+NOLINT= 1
+CPPFLAGS?=
+
+FC?= f77
+FFLAGS?= -O
+RFLAGS?=
+COMPILE.f?= ${FC} ${FFLAGS} -c
+LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
+COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
+LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
+COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
+LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
+
+INSTALL?= install
+
+LEX?= lex
+LFLAGS?=
+LEX.l?= ${LEX} ${LFLAGS}
+
+LD?= ld
+LDFLAGS?=
+
+LINT?= lint
+LINTFLAGS?= -chapbxzF
+
+LORDER?= echo
+
+MAKE?= make
+
+NM?= nm
+
+PC?= pc
+PFLAGS?=
+COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
+LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+SHELL?= sh
+
+SIZE?= size
+
+TSORT?= tsort
+
+YACC?= yacc
+YFLAGS?=
+YACC.y?= ${YACC} ${YFLAGS}
+
+# C
+.c:
+ ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.c.o:
+ ${COMPILE.c} ${.IMPSRC}
+.c.a:
+ ${COMPILE.c} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+.c.ln:
+ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
+
+# C++
+.cc .cpp .cxx .C:
+ ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.cc.o .cpp.o .cxx.o .C.o:
+ ${COMPILE.cc} ${.IMPSRC}
+.cc.a .cpp.a .cxx.a .C.a:
+ ${COMPILE.cc} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+# Fortran/Ratfor
+.f:
+ ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.f.o:
+ ${COMPILE.f} ${.IMPSRC}
+.f.a:
+ ${COMPILE.f} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+.F:
+ ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.F.o:
+ ${COMPILE.F} ${.IMPSRC}
+.F.a:
+ ${COMPILE.F} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+.r:
+ ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.r.o:
+ ${COMPILE.r} ${.IMPSRC}
+.r.a:
+ ${COMPILE.r} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+# Pascal
+.p:
+ ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.p.o:
+ ${COMPILE.p} ${.IMPSRC}
+.p.a:
+ ${COMPILE.p} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+# Assembly
+.s:
+ ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.s.o:
+ ${COMPILE.s} ${.IMPSRC}
+.s.a:
+ ${COMPILE.s} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+.S:
+ ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+.S.o:
+ ${COMPILE.S} ${.IMPSRC}
+.S.a:
+ ${COMPILE.S} ${.IMPSRC}
+ ${AR} ${ARFLAGS} $@ $*.o
+ rm -f $*.o
+
+# Lex
+.l:
+ ${LEX.l} ${.IMPSRC}
+ ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
+ rm -f lex.yy.c
+.l.c:
+ ${LEX.l} ${.IMPSRC}
+ mv lex.yy.c ${.TARGET}
+.l.o:
+ ${LEX.l} ${.IMPSRC}
+ ${COMPILE.c} -o ${.TARGET} lex.yy.c
+ rm -f lex.yy.c
+
+# Yacc
+.y:
+ ${YACC.y} ${.IMPSRC}
+ ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
+ rm -f y.tab.c
+.y.c:
+ ${YACC.y} ${.IMPSRC}
+ mv y.tab.c ${.TARGET}
+.y.o:
+ ${YACC.y} ${.IMPSRC}
+ ${COMPILE.c} -o ${.TARGET} y.tab.c
+ rm -f y.tab.c
+
+# Shell
+.sh:
+ rm -f ${.TARGET}
+ cp ${.IMPSRC} ${.TARGET}