diff options
Diffstat (limited to 'source/d/pmake/pmake_1.111-1.diff')
-rw-r--r-- | source/d/pmake/pmake_1.111-1.diff | 3501 |
1 files changed, 3501 insertions, 0 deletions
diff --git a/source/d/pmake/pmake_1.111-1.diff b/source/d/pmake/pmake_1.111-1.diff new file mode 100644 index 00000000..3e74712c --- /dev/null +++ b/source/d/pmake/pmake_1.111-1.diff @@ -0,0 +1,3501 @@ +--- pmake-1.111.orig/mk/Makefile ++++ pmake-1.111/mk/Makefile +@@ -0,0 +1,16 @@ ++# $NetBSD: Makefile,v 1.24 1999/02/13 02:54:36 lukem Exp $ ++# @(#)Makefile 8.1 (Berkeley) 6/8/93 ++ ++.include <bsd.own.mk> ++ ++.if ${MKSHARE} != "no" ++FILES= bsd.README bsd.doc.mk bsd.dep.mk bsd.files.mk bsd.inc.mk bsd.info.mk \ ++ bsd.kinc.mk bsd.kmod.mk bsd.lib.mk bsd.links.mk bsd.man.mk bsd.nls.mk \ ++ bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.subdir.mk bsd.sys.mk sys.mk ++FILESDIR=/usr/share/mk ++.endif ++MKOBJ= no ++ ++FILESMODE=444 ++ ++.include <bsd.prog.mk> +--- pmake-1.111.orig/mk/bsd.README ++++ pmake-1.111/mk/bsd.README +@@ -0,0 +1,537 @@ ++# $NetBSD: bsd.README,v 1.48 1999/02/13 03:04:09 lukem Exp $ ++# @(#)bsd.README 8.2 (Berkeley) 4/2/94 ++ ++This is the README file for the new make "include" files for the BSD ++source tree. The files are installed in /usr/share/mk, and are, by ++convention, named with the suffix ".mk". ++ ++Note, this file is not intended to replace reading through the .mk ++files for anything tricky. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++RANDOM THINGS WORTH KNOWING: ++ ++The files are simply C-style #include files, and pretty much behave like ++you'd expect. The syntax is slightly different in that a single '.' is ++used instead of the hash mark, i.e. ".include <bsd.prog.mk>". ++ ++One difference that will save you lots of debugging time is that inclusion ++of the file is normally done at the *end* of the Makefile. The reason for ++this is because .mk files often modify variables and behavior based on the ++values of variables set in the Makefile. To make this work, remember that ++the FIRST target found is the target that is used, i.e. if the Makefile has: ++ ++ a: ++ echo a ++ a: ++ echo a number two ++ ++the command "make a" will echo "a". To make things confusing, the SECOND ++variable assignment is the overriding one, i.e. if the Makefile has: ++ ++ a= foo ++ a= bar ++ ++ b: ++ echo ${a} ++ ++the command "make b" will echo "bar". This is for compatibility with the ++way the V7 make behaved. ++ ++It's fairly difficult to make the BSD .mk files work when you're building ++multiple programs in a single directory. It's a lot easier split up the ++programs than to deal with the problem. Most of the agony comes from making ++the "obj" directory stuff work right, not because we switched to a new version ++of make. So, don't get mad at us, figure out a better way to handle multiple ++architectures so we can quit using the symbolic link stuff. (Imake doesn't ++count.) ++ ++The file .depend in the source directory is expected to contain dependencies ++for the source files. This file is read automatically by make after reading ++the Makefile. ++ ++The variable DESTDIR works as before. It's not set anywhere but will change ++the tree where the file gets installed. ++ ++The profiled libraries are no longer built in a different directory than ++the regular libraries. A new suffix, ".po", is used to denote a profiled ++object, and ".so" denotes a shared (position-independent) object. ++ ++The following variables that control how things are made/installed that ++are not set by default. These should not be set by Makefiles; they're for ++the user to define in MAKECONF (see bsd.own.mk, below) or on the make(1) ++command line: ++ ++BUILD If defined, 'make install' checks that the targets in the ++ source directories are up-to-date and remakes them if they ++ are out of date, instead of blindly trying to install ++ out of date or non-existant targets. ++ ++UPDATE If defined, 'make install' only installs targets that are ++ more recently modified in the source directories that their ++ installed counterparts. ++ ++MKCATPAGES If "no", don't build or install the catman pages. ++ ++MKDOC If "no", don't build or install the documentation. ++ ++MKINFO If "no", don't build or install Info documentation from ++ Texinfo source files. ++ ++MKLINT If "no", don't build or install the lint libraries. ++ ++MKMAN If "no", don't build or install the man or catman pages. ++ Also acts as "MKCATPAGES=no" ++ ++MKNLS If "no", don't build or install the NLS files. ++ ++MKOBJ If "no", don't create objdirs. ++ ++MKPIC If "no", don't build or install shared libraries. ++ ++MKPICINSTALL If "no", don't install the *_pic.a libraries. ++ ++MKPROFILE If "no", don't build or install the profiling libraries. ++ ++MKSHARE If "no", act as "MKCATPAGES=no MKDOC=no MKINFO=no MKMAN=no ++ MKNLS=no". I.e, don't build catman pages, documentation, ++ Info documentation, man pages, NLS files, ... ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <sys.mk> has the default rules for all makes, in the BSD ++environment or otherwise. You probably don't want to touch this file. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.man.mk> handles installing manual pages and their ++links. ++ ++It has a two targets: ++ ++ maninstall: ++ Install the manual page sources and their links. ++ catinstall: ++ Install the preformatted manual pages and their links. ++ ++It sets/uses the following variables: ++ ++MANDIR Base path for manual installation. ++ ++MANGRP Manual group. ++ ++MANOWN Manual owner. ++ ++MANMODE Manual mode. ++ ++MANSUBDIR Subdirectory under the manual page section, i.e. "/vax" ++ or "/tahoe" for machine specific manual pages. ++ ++MAN The manual pages to be installed (use a .1 - .9 suffix). ++ ++MLINKS List of manual page links (using a .1 - .9 suffix). The ++ linked-to file must come first, the linked file second, ++ and there may be multiple pairs. The files are soft-linked. ++ ++The include file <bsd.man.mk> includes a file named "../Makefile.inc" if ++it exists. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.own.mk> contains source tree configuration parameters, ++such as the owners, groups, etc. for both manual pages and binaries, and ++a few global "feature configuration" parameters. ++ ++It has no targets. ++ ++To get system-specific configuration parameters, bsd.own.mk will try to ++include the file specified by the "MAKECONF" variable. If MAKECONF is not ++set, or no such file exists, the system make configuration file, /etc/mk.conf ++is included. These files may define any of the variables described below. ++ ++bsd.own.mk sets the following variables, if they are not already defined ++(defaults are in brackets): ++ ++BSDSRCDIR The real path to the system sources, so that 'make obj' ++ will work correctly. [/usr/src] ++ ++BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj' ++ will work correctly. [/usr/obj] ++ ++BINGRP Binary group. [wheel] ++ ++BINOWN Binary owner. [root] ++ ++BINMODE Binary mode. [555] ++ ++NONBINMODE Mode for non-executable files. [444] ++ ++MANDIR Base path for manual installation. [/usr/share/man/cat] ++ ++MANGRP Manual group. [wheel] ++ ++MANOWN Manual owner. [root] ++ ++MANMODE Manual mode. [${NONBINMODE}] ++ ++MANINSTALL Manual installation type: maninstall, catinstall, or both ++ ++LIBDIR Base path for library installation. [/usr/lib] ++ ++LINTLIBDIR Base path for lint(1) library installation. [/usr/libdata/lint] ++ ++LIBGRP Library group. [${BINGRP}] ++ ++LIBOWN Library owner. [${BINOWN}] ++ ++LIBMODE Library mode. [${NONBINMODE}] ++ ++DOCDIR Base path for system documentation (e.g. PSD, USD, etc.) ++ installation. [/usr/share/doc] ++ ++DOCGRP Documentation group. [wheel] ++ ++DOCOWN Documentation owner. [root] ++ ++DOCMODE Documentation mode. [${NONBINMODE}] ++ ++NLSDIR Base path for National Language Support files installation. ++ [/usr/share/nls] ++ ++NLSGRP National Language Support files group. [wheel] ++ ++NLSOWN National Language Support files owner. [root] ++ ++NLSMODE National Language Support files mode. [${NONBINMODE}] ++ ++STRIPFLAG The flag passed to the install program to cause the binary ++ to be stripped. This is to be used when building your ++ own install script so that the entire system can be made ++ stripped/not-stripped using a single knob. [-s] ++ ++COPY The flag passed to the install program to cause the binary ++ to be copied rather than moved. This is to be used when ++ building our own install script so that the entire system ++ can either be installed with copies, or with moves using ++ a single knob. [-c] ++ ++Additionally, the following variables may be set by bsd.own.mk or in a ++make configuration file to modify the behaviour of the system build ++process (default values are in brackets along with comments, if set by ++bsd.own.mk): ++ ++EXPORTABLE_SYSTEM ++ Do not build /usr/src/domestic, even if it is present. ++ ++SKEY Compile in support for S/key authentication. [yes, set ++ unconditionally] ++ ++KERBEROS Compile in support for Kerberos 4 authentication. ++ ++KERBEROS5 Compile in support for Kerberos 5 authentication. ++ ++MANZ Compress manual pages at installation time. ++ ++SYS_INCLUDE Copy or symlink kernel include files into /usr/include. ++ Possible values are "symlinks" or "copies" (which is ++ the same as the variable being unset). ++ ++NOPROFILE Do not build profiled versions of system libraries ++ ++NOPIC Do not build PIC versions of system libraries, and ++ do not build shared libraries. [set if ${MACHINE_ARCH} ++ is "sparc64", unset otherwise.] ++ ++NOLINT Do not build lint libraries. ++ ++OBJECT_FMT Object file format. [set to "ELF" on ports that use ++ ELF -- currently if ${MACHINE_ARCH} is "alpha", "mips" ++ or "powerpc" or set to "a.out" on other ports]. ++ ++ ++bsd.own.mk is generally useful when building your own Makefiles so that ++they use the same default owners etc. as the rest of the tree. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.prog.mk> handles building programs from one or ++more source files, along with their manual pages. It has a limited number ++of suffixes, consistent with the current needs of the BSD tree. ++ ++It has eight targets: ++ ++ all: ++ build the program and its manual page ++ clean: ++ remove the program, any object files and the files a.out, ++ Errs, errs, mklog, and ${PROG}.core. ++ cleandir: ++ remove all of the files removed by the target clean, as ++ well as .depend, tags, and any manual pages. ++ `distclean' is a synonym for `cleandir'. ++ depend: ++ make the dependencies for the source files, and store ++ them in the file .depend. ++ includes: ++ install any header files. ++ install: ++ install the program and its manual pages; if the Makefile ++ does not itself define the target install, the targets ++ beforeinstall and afterinstall may also be used to cause ++ actions immediately before and after the install target ++ is executed. ++ lint: ++ run lint on the source files ++ tags: ++ create a tags file for the source files. ++ ++It sets/uses the following variables: ++ ++BINGRP Binary group. ++ ++BINOWN Binary owner. ++ ++BINMODE Binary mode. ++ ++CLEANFILES Additional files to remove for the clean and cleandir targets. ++ ++COPTS Additional flags to the compiler when creating C objects. ++ ++CPPFLAGS Additional flags to the C pre-processor ++ ++LDADD Additional loader objects. Usually used for libraries. ++ For example, to load with the compatibility and utility ++ libraries, use: ++ ++ LDADD+=-lutil -lcompat ++ ++LDFLAGS Additional loader flags. ++ ++LINKS The list of binary links; should be full pathnames, the ++ linked-to file coming first, followed by the linked ++ file. The files are hard-linked. For example, to link ++ /bin/test and /bin/[, use: ++ ++ LINKS= ${DESTDIR}/bin/test ${DESTDIR}/bin/[ ++ ++SYMLINKS The list of symbolic links; should be full pathnames. ++ Syntax is identical to LINKS. Note that DESTDIR is not ++ automatically included in the link. ++ ++MAN Manual pages (should end in .1 - .9). If no MAN variable is ++ defined, "MAN=${PROG}.1" is assumed. ++ ++PROG The name of the program to build. If not supplied, nothing ++ is built. ++ ++PROGNAME The name that the above program will be installed as, if ++ different from ${PROG}. ++ ++SRCS List of source files to build the program. If SRCS is not ++ defined, it's assumed to be ${PROG}.c. ++ ++DPADD Additional dependencies for the program. Usually used for ++ libraries. For example, to depend on the compatibility and ++ utility libraries use: ++ ++ DPADD+=${LIBCOMPAT} ${LIBUTIL} ++ ++ The following libraries are predefined for DPADD: ++ ++ LIBC?= ${DESTDIR}/usr/lib/libc.a ++ LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a ++ LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a ++ LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a ++ LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a ++ LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a ++ LIBDES?= ${DESTDIR}/usr/lib/libdes.a ++ LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a ++ LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a ++ LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a ++ LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a ++ LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a ++ LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a ++ LIBL?= ${DESTDIR}/usr/lib/libl.a ++ LIBM?= ${DESTDIR}/usr/lib/libm.a ++ LIBMP?= ${DESTDIR}/usr/lib/libmp.a ++ LIBNTP?= ${DESTDIR}/usr/lib/libntp.a ++ LIBPC?= ${DESTDIR}/usr/lib/libpc.a ++ LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a ++ LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a ++ LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a ++ LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a ++ LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a ++ LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a ++ LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a ++ LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a ++ LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a ++ LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a ++ LIBY?= ${DESTDIR}/usr/lib/liby.a ++ LIBZ?= ${DESTDIR}/usr/lib/libz.a ++ ++ ++SHAREDSTRINGS If defined, a new .c.o rule is used that results in shared ++ strings, using xstr(1). Note that this will not work with ++ parallel makes. ++ ++STRIP The flag passed to the install program to cause the binary ++ to be stripped. ++ ++SUBDIR A list of subdirectories that should be built as well. ++ Each of the targets will execute the same target in the ++ subdirectories. ++ ++SCRIPTS A list of interpreter scripts [file.{sh,csh,pl,awk,...}]. ++ These are installed exactly like programs. ++ ++SCRIPTSNAME The name that the above program will be installed as, if ++ different from ${SCRIPTS}. These can be further specialized ++ by setting SCRIPTSNAME_<script>. ++ ++FILES A list of files to install. The installation is controlled ++ by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR ++ variables that can be further specialized by FILES<VAR>_<file> ++ ++The include file <bsd.prog.mk> includes the file named "../Makefile.inc" ++if it exists, as well as the include file <bsd.man.mk>. ++ ++Some simple examples: ++ ++To build foo from foo.c with a manual page foo.1, use: ++ ++ PROG= foo ++ ++ .include <bsd.prog.mk> ++ ++To build foo from foo.c with a manual page foo.2, add the line: ++ ++ MAN= foo.2 ++ ++If foo does not have a manual page at all, add the line: ++ ++ NOMAN= noman ++ ++If foo has multiple source files, add the line: ++ ++ SRCS= a.c b.c c.c d.c ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.subdir.mk> contains the default targets for building ++subdirectories. It has the same eight targets as <bsd.prog.mk>: all, ++clean, cleandir, depend, includes, install, lint, and tags. For all of ++the directories listed in the variable SUBDIRS, the specified directory ++will be visited and the target made. There is also a default target which ++allows the command "make subdir" where subdir is any directory listed in ++the variable SUBDIRS. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables ++and is included from from bsd.lib.mk and bsd.prog.mk. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.files.mk> handles the FILES variables and is included ++from bsd.lib.mk and bsd.prog.mk. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.inc.mk> defines the includes target and uses two ++variables: ++ ++INCS The list of include files ++ ++INCSDIR The location to install the include files. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.kinc.mk> defines the many targets (includes, ++subdirectories, etc.), and is used by kernel makefiles to handle ++include file installation. It is intended to be included alone, by ++kernel Makefiles. Please see bsd.kinc.mk for more details, and keep ++the documentation in that file up to date. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.info.mk> is used to generate and install GNU Info ++documentation from respective Texinfo source files. It defines three ++implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the ++following variables: ++ ++TEXINFO List of Texinfo source files. Info documentation will ++ consist of single files with the extension replaced by ++ .info. ++ ++INFOFLAGS Flags to pass to makeinfo. [] ++ ++INSTALL_INFO Name of install-info program. [install-info] ++ ++MAKEINFO Name of makeinfo program. [makeinfo] ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.sys.mk> is used by <bsd.prog.mk> and ++<bsd.lib.mk>. It contains overrides that are used when building ++the NetBSD source tree. For instance, if "PARALLEL" is defined by ++the program/library Makefile, it includes a set of rules for lex and ++yacc that allow multiple lex and yacc targets to be built in parallel. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.lib.mk> has support for building libraries. It has ++the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend, ++includes, install, lint, and tags. Additionally, it has a checkver target ++which checks for installed shared object libraries whose version is greater ++that the version of the source. It has a limited number of suffixes, ++consistent with the current needs of the BSD tree. ++ ++It sets/uses the following variables: ++ ++LIB The name of the library to build. ++ ++LIBDIR Target directory for libraries. ++ ++LINTLIBDIR Target directory for lint libraries. ++ ++LIBGRP Library group. ++ ++LIBOWN Library owner. ++ ++LIBMODE Library mode. ++ ++LDADD Additional loader objects. ++ ++MAN The manual pages to be installed (use a .1 - .9 suffix). ++ ++MKLINKLIB If "no", act as "MKPICINSTALL=no MKPROFILE=no". ++ Also: ++ - don't install the .a libraries ++ - don't install _pic.a libraries on PIC systems ++ - don't build .a libraries on PIC systems ++ - don't install the .so symlink on ELF systems ++ I.e, only install the shared library (and the .so.major ++ symlink on ELF). ++ ++NOCHECKVER_<library> ++NOCHECKVER If set, disables checking for installed shared object ++ libraries with versions greater than the source. A ++ particular library name, without the "lib" prefix, may ++ be appended to the variable name to disable the check for ++ only that library. ++ ++SRCS List of source files to build the library. Suffix types ++ .s, .c, and .f are supported. Note, .s files are preferred ++ to .c files of the same name. (This is not the default for ++ versions of make.) ++ ++The include file <bsd.lib.mk> includes the file named "../Makefile.inc" ++if it exists, as well as the include file <bsd.man.mk>. ++ ++It has rules for building profiled objects; profiled libraries are ++built by default. ++ ++Libraries are ranlib'd when made. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +--- pmake-1.111.orig/mk/bsd.dep.mk ++++ pmake-1.111/mk/bsd.dep.mk +@@ -0,0 +1,62 @@ ++# $NetBSD: bsd.dep.mk,v 1.26 1999/02/24 22:04:15 simonb Exp $ ++ ++.PHONY: cleandepend ++cleandir distclean: cleandepend ++ ++MKDEP?= mkdep ++ ++# some of the rules involve .h sources, so remove them from mkdep line ++depend: beforedepend ++.if defined(SRCS) ++depend: .depend ++ @true # hack to prevent "make depend" from using implicit rules ++.NOPATH: .depend ++.depend: ${SRCS} ${DPSRCS} ++ @rm -f .depend ++ @files="${.ALLSRC:M*.s} ${.ALLSRC:M*.S}"; \ ++ if [ "$$files" != " " ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${AFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} ${AINC:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${AFLAGS:M-[ID]*} ${CPPFLAGS} ${AINC} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.c}"; \ ++ if [ "$$files" != "" ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.m}"; \ ++ if [ "$$files" != "" ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${OBJCFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${OBJCFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}"; \ ++ if [ "$$files" != " " ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CXXFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CXXFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++cleandepend: ++ rm -f .depend ${.CURDIR}/tags ++.else ++cleandepend: ++.endif ++depend: afterdepend ++ ++beforedepend: ++afterdepend: ++ ++.if !target(tags) ++.if defined(SRCS) ++tags: ${SRCS} ++ -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \ ++ sed "s;\${.CURDIR}/;;" > tags ++.else ++tags: ++.endif ++.endif +--- pmake-1.111.orig/mk/bsd.doc.mk ++++ pmake-1.111/mk/bsd.doc.mk +@@ -0,0 +1,78 @@ ++# $NetBSD: bsd.doc.mk,v 1.41 1999/02/12 01:10:06 lukem Exp $ ++# @(#)bsd.doc.mk 8.1 (Berkeley) 8/14/93 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleandoc docinstall print spell ++.if ${MKSHARE} != "no" ++realinstall: docinstall ++.endif ++clean cleandir distclean: cleandoc ++ ++BIB?= bib ++EQN?= eqn ++GREMLIN?= grn ++GRIND?= vgrind -f ++INDXBIB?= indxbib ++PIC?= pic ++REFER?= refer ++ROFF?= groff ${MACROS} ${PAGES} ++SOELIM?= soelim ++TBL?= tbl ++ ++.if !target(all) ++.if ${MKSHARE} != "no" ++all: paper.ps ++.else ++all: ++.endif ++.endif ++ ++.if !target(paper.ps) ++paper.ps: ${SRCS} ++ ${ROFF} ${.ALLSRC} > ${.TARGET} ++.endif ++ ++.if !target(print) ++print: paper.ps ++ lpr -P${PRINTER} ${.ALLSRC} ++.endif ++ ++cleandoc: ++ rm -f paper.* [eE]rrs mklog ${CLEANFILES} ++ ++.if ${MKDOC} != "no" ++FILES?= ${SRCS} ++.for F in ${FILES} ${EXTRA} Makefile ++docinstall:: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${DOCDIR}/${DIR}/${F}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++${DESTDIR}${DOCDIR}/${DIR}/${F}: ${F} ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${DOCOWN} -g ${DOCGRP} \ ++ -m ${DOCMODE} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(docinstall) ++docinstall:: ++.endif ++ ++spell: ${SRCS} ++ spell ${.ALLSRC} | sort | comm -23 - spell.ok > paper.spell ++ ++depend includes lint obj tags: ++ ++.include <bsd.obj.mk> +--- pmake-1.111.orig/mk/bsd.files.mk ++++ pmake-1.111/mk/bsd.files.mk +@@ -0,0 +1,43 @@ ++# $NetBSD: bsd.files.mk,v 1.8 1999/02/11 13:25:42 tv Exp $ ++ ++# This file can be included multiple times. It clears the definition of ++# FILES at the end so that this is possible. ++ ++.PHONY: filesinstall ++realinstall: filesinstall ++ ++.if defined(FILES) && !empty(FILES) ++FILESDIR?=${BINDIR} ++FILESOWN?=${BINOWN} ++FILESGRP?=${BINGRP} ++FILESMODE?=${NONBINMODE} ++.for F in ${FILES} ++FILESDIR_${F}?=${FILESDIR} ++FILESOWN_${F}?=${FILESOWN} ++FILESGRP_${F}?=${FILESGRP} ++FILESMODE_${F}?=${FILESMODE} ++.if defined(FILESNAME) ++FILESNAME_${F} ?= ${FILESNAME} ++.else ++FILESNAME_${F} ?= ${F:T} ++.endif ++filesinstall:: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: ${F} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${FILESOWN_${F}} \ ++ -g ${FILESGRP_${F}} -m ${FILESMODE_${F}} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(filesinstall) ++filesinstall:: ++.endif ++ ++FILES:= +--- pmake-1.111.orig/mk/bsd.inc.mk ++++ pmake-1.111/mk/bsd.inc.mk +@@ -0,0 +1,25 @@ ++# $NetBSD: bsd.inc.mk,v 1.12 1999/02/04 11:58:30 christos Exp $ ++ ++.PHONY: incinstall ++includes: ${INCS} incinstall ++ ++.if defined(INCS) ++.for I in ${INCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: $I ++ @cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}) ++.endfor ++.endif ++ ++.if !target(incinstall) ++incinstall:: ++.endif +--- pmake-1.111.orig/mk/bsd.info.mk ++++ pmake-1.111/mk/bsd.info.mk +@@ -0,0 +1,60 @@ ++# $NetBSD: bsd.info.mk,v 1.7.2.1 1999/04/22 14:46:13 perry Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++MAKEINFO?= makeinfo ++INFOFLAGS?= ++INSTALL_INFO?= install-info ++ ++.SUFFIXES: .txi .texi .texinfo .info ++ ++.txi.info .texi.info .texinfo.info: ++ @${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $< ++ ++.if defined(TEXINFO) && !empty(TEXINFO) && ${MKINFO} != "no" ++INFOFILES= ${TEXINFO:C/\.te?xi(nfo)?$/.info/} ++FILES+= ${INFOFILES} ++ ++infoinstall: ++.for F in ${INFOFILES} ++ @${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F} ++ ${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F} ++.endfor ++ ++.for F in ${INFOFILES} ++FILESDIR_${F}= ${INFODIR} ++FILESOWN_${F}= ${INFOOWN} ++FILESGRP_${F}= ${INFOGRP} ++FILESMODE_${F}= ${INFOMODE} ++FILESNAME_${F}= ${F:T} ++.endfor ++ ++all: ${INFOFILES} ++.else ++all: ++.endif ++ ++.if ${MKINFO} != "no" ++cleaninfo: ++ rm -f ${INFOFILES} ++.else ++cleaninfo infoinstall: ++.endif ++ ++.include <bsd.files.mk> ++ ++# These need to happen *after* filesinstall. ++.PHONY: infoinstall cleaninfo ++realinstall: infoinstall ++cleandir distclean: cleaninfo ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++clean depend includes lint regress tags: +--- pmake-1.111.orig/mk/bsd.kinc.mk ++++ pmake-1.111/mk/bsd.kinc.mk +@@ -0,0 +1,136 @@ ++# $NetBSD: bsd.kinc.mk,v 1.5 1999/02/04 11:58:30 christos Exp $ ++ ++# System configuration variables: ++# ++# SYS_INCLUDE "symlinks": symlinks to include directories are created. ++# This may not work 100% properly for all headers. ++# ++# "copies": directories are made, if necessary, and headers ++# are installed into them. ++# ++# Variables: ++# ++# INCSDIR Directory to install includes into (and/or make, and/or ++# symlink, depending on what's going on). ++# ++# KDIR Kernel directory to symlink to, if SYS_INCLUDE is symlinks. ++# If unspecified, no action will be taken when making include ++# for the directory if SYS_INCLUDE is symlinks. ++# ++# INCS Headers to install, if SYS_INCLUDE is copies. ++# ++# DEPINCS Headers to install which are built dynamically. ++# ++# SUBDIR Subdirectories to enter ++# ++# SYMLINKS Symlinks to make (unconditionally), a la bsd.links.mk. ++# Note that the original bits will be 'rm -rf'd rather than ++# just 'rm -f'd, to make the right thing happen with include ++# directories. ++# ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.MAIN: all ++.endif ++ ++# Change SYS_INCLUDE in bsd.own.mk or /etc/mk.conf to "symlinks" if you ++# don't want copies ++SYS_INCLUDE?= copies ++ ++# If DESTDIR is set, we're probably building a release, so force "copies". ++.if defined(DESTDIR) && (${DESTDIR} != "/" && !empty(DESTDIR)) ++SYS_INCLUDE= copies ++.endif ++ ++ ++.PHONY: incinstall ++includes: ${INCS} incinstall ++ ++ ++.if ${SYS_INCLUDE} == "symlinks" ++ ++# don't install includes, just make symlinks. ++ ++.if defined(KDIR) ++SYMLINKS+= ${KDIR} ${INCSDIR} ++.endif ++ ++.else # not symlinks ++ ++# make sure the directory is OK, and install includes. ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR} ++.PHONY: ${DESTDIR}${INCSDIR} ++${DESTDIR}${INCSDIR}: ++ @if [ ! -d ${.TARGET} ] || [ -L ${.TARGET} ] ; then \ ++ echo creating ${.TARGET}; \ ++ /bin/rm -rf ${.TARGET}; \ ++ ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 ${.TARGET}; \ ++ fi ++ ++incinstall:: ${DESTDIR}${INCSDIR} ++ ++.if defined(INCS) ++.for I in ${INCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I ++ @cmp -s ${.CURDIR}/$I ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET}) ++.endfor ++.endif ++ ++.if defined(DEPINCS) ++.for I in ${DEPINCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I ++ @cmp -s $I ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} $I ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} $I ${.TARGET}) ++.endfor ++.endif ++ ++.endif # not symlinks ++ ++.if defined(SYMLINKS) && !empty(SYMLINKS) ++incinstall:: ++ @set ${SYMLINKS}; \ ++ while test $$# -ge 2; do \ ++ l=$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -rf $$t"; \ ++ echo " @ln -s $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++ ++.if !target(incinstall) ++incinstall:: ++.endif ++ ++.include <bsd.subdir.mk> +--- pmake-1.111.orig/mk/bsd.kmod.mk ++++ pmake-1.111/mk/bsd.kmod.mk +@@ -0,0 +1,95 @@ ++# $NetBSD: bsd.kmod.mk,v 1.30 1999/03/10 06:34:19 ross Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleankmod kmodinstall load unload ++realinstall: kmodinstall ++clean cleandir distclean: cleankmod ++ ++S?= /sys ++KERN= $S/kern ++ ++CFLAGS+= ${COPTS} -D_KERNEL -D_LKM -I. -I${.CURDIR} -I$S -I$S/arch ++ ++DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} ++CLEANFILES+= ${DPSRCS} ++.if defined(YHEADER) ++CLEANFILES+= ${SRCS:M*.y:.y=.h} ++.endif ++ ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++ ++.if !defined(PROG) ++PROG= ${KMOD}.o ++.endif ++ ++${PROG}: ${DPSRCS} ${OBJS} ${DPADD} ++ ${LD} -r ${LDFLAGS} -o tmp.o ${OBJS} ++ mv tmp.o ${.TARGET} ++ ++.if !defined(MAN) ++MAN= ${KMOD}.4 ++.endif ++ ++all: machine-links ${PROG} ++ ++.PHONY: machine-links ++beforedepend: machine-links ++machine-links: ++ -rm -f machine && \ ++ ln -s $S/arch/${MACHINE}/include machine ++ -rm -f ${MACHINE_ARCH} && \ ++ ln -s $S/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH} ++CLEANFILES+=machine ${MACHINE_ARCH} ++ ++cleankmod: ++ rm -f a.out [Ee]rrs mklog core *.core \ ++ ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES} ++ ++# ++# define various install targets ++# ++.if !target(kmodinstall) ++kmodinstall:: ${DESTDIR}${KMODDIR}/${PROG} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${KMODDIR}/${PROG} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${KMODDIR}/${PROG}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${KMODDIR}/${PROG} ++${DESTDIR}${KMODDIR}/${PROG}: ${PROG} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${KMODOWN} -g ${KMODGRP} \ ++ -m ${KMODMODE} ${.ALLSRC} ${.TARGET} ++.endif ++ ++lint: ${LOBJS} ++.if defined(LOBJS) && !empty(LOBJS) ++ ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD} ++.endif ++ ++.if !target(load) ++load: ${PROG} ++ /sbin/modload -o ${KMOD} -e${KMOD}_lkmentry ${PROG} ++.endif ++ ++.if !target(unload) ++unload: ${PROG} ++ /sbin/modunload -n ${KMOD} ++.endif ++ ++.include <bsd.man.mk> ++.include <bsd.links.mk> ++.include <bsd.dep.mk> ++.include <bsd.sys.mk> ++ ++.-include "machine/Makefile.inc" +--- pmake-1.111.orig/mk/bsd.lib.mk ++++ pmake-1.111/mk/bsd.lib.mk +@@ -0,0 +1,396 @@ ++# $NetBSD: bsd.lib.mk,v 1.152 1999/03/30 09:30:43 fair 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> ++.MAIN: all ++.endif ++ ++.PHONY: checkver cleanlib libinstall ++realinstall: checkver libinstall ++clean cleandir distclean: cleanlib ++ ++.if exists(${.CURDIR}/shlib_version) ++SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major ++SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor ++ ++# Check for higher installed library versions. ++.if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \ ++ exists(${BSDSRCDIR}/lib/checkver) ++checkver: ++ @(cd ${.CURDIR} && \ ++ ${BSDSRCDIR}/lib/checkver -d ${DESTDIR}${LIBDIR} ${LIB}) ++.else ++checkver: ++.endif ++.else ++checkver: ++.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_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 ++# 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 ++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 need to be compiled with ABIcalls, not just sharedlibs. ++CPICFLAGS?= ++APICFLAGS?= ++#CPICFLAGS?= -fpic -DPIC ++#APICFLAGS?= -DPIC ++ ++# so turn shlib PIC flags on for ${CPP}, ${CC}, and ${AS} as follows: ++AINC+=-DPIC -DABICALLS ++COPTS+= -fPIC ${AINC} ++AFLAGS+= -fPIC ++AS+= -KPIC ++ ++.elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF" ++ ++CPICFLAGS ?= -fpic -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS ?= -KPIC ++ ++.elif (${MACHINE} == "debian") ++ ++SHLIB_TYPE=ELF ++SHLIB_LDSTARTFILE= ++SHLIB_LDENDFILE= ++SHLIB_SOVERSION=${SHLIB_MAJOR} ++CPICFLAGS ?= -fPIC -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS ?= ++ ++.else ++ ++# Platform-independent flags for NetBSD a.out shared libraries (and PowerPC) ++SHLIB_LDSTARTFILE= ++SHLIB_LDENDFILE= ++SHLIB_SHFLAGS= ++SHLIB_SOVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} ++CPICFLAGS?= -fpic -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS?= -k ++ ++.endif ++ ++# 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} ++ ++.c.o: ++ @echo ${COMPILE.c:Q} ${.IMPSRC} ++ @${COMPILE.c} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.po: ++ @echo ${COMPILE.c:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.so: ++ @echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.ln: ++ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} ++ ++.cc.o .C.o: ++ @echo ${COMPILE.cc:Q} ${.IMPSRC} ++ @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.cc.po .C.po: ++ @echo ${COMPILE.cc:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.cc.so .C.so: ++ @echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.o: ++ @echo ${COMPILE.m:Q} ${.IMPSRC} ++ @${COMPILE.m} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.po: ++ @echo ${COMPILE.m:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.so: ++ @echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.S.o .s.o: ++ @echo ${COMPILE.S:Q} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} ++ @${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -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} -X -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} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \ ++ || ${MKLINKLIB} != "no" ++_LIBS=lib${LIB}.a ++.else ++_LIBS= ++.endif ++ ++.if ${MKPROFILE} != "no" ++_LIBS+=lib${LIB}_p.a ++.endif ++ ++.if ${MKPIC} != "no" ++_LIBS+=lib${LIB}_pic.a ++.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) ++_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.endif ++.endif ++ ++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" ++_LIBS+=llib-l${LIB}.ln ++.endif ++ ++all: ${SRCS} ${_LIBS} ++ ++__archivebuild: .USE ++ @rm -f ${.TARGET} ++ @${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}` ++ ${RANLIB} ${.TARGET} ++ ++__archiveinstall: .USE ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -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 ++ ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++lib${LIB}.a:: ${OBJS} __archivebuild ++ @echo building standard ${LIB} library ++ ++POBJS+= ${OBJS:.o=.po} ++lib${LIB}_p.a:: ${POBJS} __archivebuild ++ @echo building profiled ${LIB} library ++ ++SOBJS+= ${OBJS:.o=.so} ++lib${LIB}_pic.a:: ${SOBJS} __archivebuild ++ @echo building shared object ${LIB} library ++ ++lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}_pic.a ${DPADD} \ ++ ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} ++ @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) ++ @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.if defined(DESTDIR) ++ $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ++ ${SHLIB_LDSTARTFILE} \ ++ --whole-archive lib${LIB}_pic.a \ ++ -nostdlib -L${DESTDIR}${LIBDIR} -R${LIBDIR} \ ++ --no-whole-archive ${LDADD} \ ++ ${SHLIB_LDENDFILE} ++.else ++ $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ++ ${SHLIB_LDSTARTFILE} \ ++ --whole-archive lib${LIB}_pic.a --no-whole-archive ${LDADD} \ ++ ${SHLIB_LDENDFILE} ++.endif ++.if ${OBJECT_FMT} == "ELF" ++ rm -f lib${LIB}.so.${SHLIB_MAJOR} ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ lib${LIB}.so.${SHLIB_MAJOR} ++ rm -f lib${LIB}.so ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ lib${LIB}.so ++.endif ++ ++LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} ++LLIBS?= -lc ++llib-l${LIB}.ln: ${LOBJS} ++ @echo building llib-l${LIB}.ln ++ @rm -f llib-l${LIB}.ln ++ @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS} ++ ++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 ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a ++${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall ++.endif ++ ++.if ${MKPROFILE} != "no" ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall ++.endif ++ ++.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall ++.endif ++ ++.if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \ ++ -m ${LIBMODE} ${.ALLSRC} ${.TARGET} ++.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR) ++ /sbin/ldconfig -m ${LIBDIR} ++.endif ++.if ${OBJECT_FMT} == "ELF" ++ rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR} ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR} ++ rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so ++.if ${MKLINKLIB} != "no" ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ ${DESTDIR}${LIBDIR}/lib${LIB}.so ++.endif ++.endif ++.endif ++ ++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" ++libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -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: +--- pmake-1.111.orig/mk/bsd.links.mk ++++ pmake-1.111/mk/bsd.links.mk +@@ -0,0 +1,43 @@ ++# $NetBSD: bsd.links.mk,v 1.8 1998/12/31 15:28:52 castor Exp $ ++ ++.PHONY: linksinstall ++realinstall: linksinstall ++ ++.if defined(SYMLINKS) && !empty(SYMLINKS) ++linksinstall:: ++ @set ${SYMLINKS}; \ ++ while test $$# -ge 2; do \ ++ l=$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -f $$t"; \ ++ echo " @ln -s $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++.if defined(LINKS) && !empty(LINKS) ++linksinstall:: ++ @set ${LINKS}; \ ++ while test $$# -ge 2; do \ ++ l=${DESTDIR}$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -f $$t"; \ ++ echo " @ln $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++ ++.if !target(linksinstall) ++linksinstall: ++.endif +--- pmake-1.111.orig/mk/bsd.man.mk ++++ pmake-1.111/mk/bsd.man.mk +@@ -0,0 +1,156 @@ ++# $NetBSD: bsd.man.mk,v 1.45 1999/02/13 16:34:39 christos 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> ++.MAIN: all ++.endif ++ ++.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman ++.if ${MKMAN} != "no" ++realinstall: ${MANINSTALL} ++.endif ++cleandir distclean: cleanman ++ ++MANTARGET?= cat ++NROFF?= nroff ++TBL?= tbl ++ ++.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \ ++ .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9 ++ ++.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1: ++.if !defined(USETBL) ++ @echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}" ++ @${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \ ++ (rm -f ${.TARGET}; false) ++.else ++ @echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}" ++ @${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \ ++ (rm -f ${.TARGET}; false) ++.endif ++ ++.if defined(MAN) && !empty(MAN) ++MANPAGES= ${MAN} ++CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/} ++.endif ++ ++MINSTALL= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${MANOWN} \ ++ -g ${MANGRP} -m ${MANMODE} ++ ++.if defined(MANZ) ++# chown and chmod are done afterward automatically ++MCOMPRESS= gzip -9cf ++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 ++ ${MINSTALL} ${.ALLSRC} ${.TARGET} ++.endif ++ ++ ++# Rules for cat'ed man page installation ++.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no" ++. for P in ${CATPAGES} ++catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++ ++. if !defined(UPDATE) ++.PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++. endif ++. if !defined(BUILD) ++${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE ++. endif ++ ++.PRECIOUS: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++${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) ++. for P in ${MANPAGES} ++manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++. if !defined(UPDATE) ++.PHONY: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++. endif ++ ++.PRECIOUS: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++${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 [ -z "${UPDATE}" -o ! -f $$t ]; then \ ++ echo $$t -\> $$l; \ ++ ln -sf $$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 [ -z "${UPDATE}" -o ! -f $$t ]; then \ ++ echo $$t -\> $$l; \ ++ ln -sf $$l $$t; \ ++ fi; \ ++ done ++.endif ++ ++.if defined(CATPAGES) ++.if ${MKCATPAGES} != "no" && ${MKMAN} != "no" ++all: ${CATPAGES} ++.else ++all: ++.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: +--- pmake-1.111.orig/mk/bsd.nls.mk ++++ pmake-1.111/mk/bsd.nls.mk +@@ -0,0 +1,64 @@ ++# $NetBSD: bsd.nls.mk,v 1.17 1999/02/12 12:38:45 lukem Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++ ++.MAIN: all ++.endif ++.PHONY: cleannls nlsinstall ++.if ${MKNLS} != "no" ++realinstall: nlsinstall ++.endif ++cleandir distclean: cleannls ++ ++.SUFFIXES: .cat .msg ++ ++.msg.cat: ++ @rm -f ${.TARGET} ++ gencat ${.TARGET} ${.IMPSRC} ++ ++.if defined(NLS) && !empty(NLS) ++NLSALL= ${NLS:.msg=.cat} ++.endif ++ ++.if !defined(NLSNAME) ++.if defined(PROG) ++NLSNAME=${PROG} ++.else ++NLSNAME=lib${LIB} ++.endif ++.endif ++ ++.if defined(NLSALL) ++.if ${MKNLS} != "no" ++all: ${NLSALL} ++.endif ++ ++cleannls: ++ rm -f ${NLSALL} ++ ++.for F in ${NLSALL} ++nlsinstall:: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++.endif ++.if !defined(BUILD) ++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: ${F} ++ ${INSTALL} -d ${.TARGET:H} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${NLSOWN} -g ${NLSGRP} \ ++ -m ${NLSMODE} ${.ALLSRC} ${.TARGET} ++.endfor ++.else ++cleannls: ++.endif ++ ++.if !target(nlsinstall) ++nlsinstall:: ++.endif +--- pmake-1.111.orig/mk/bsd.obj.mk ++++ pmake-1.111/mk/bsd.obj.mk +@@ -0,0 +1,54 @@ ++# $NetBSD: bsd.obj.mk,v 1.17 1999/02/12 04:13:26 lukem Exp $ ++ ++.if !target(__initialized_obj__) ++__initialized_obj__: ++.include <bsd.own.mk> ++.endif ++ ++.if ${MKOBJ} == "no" ++obj: ++.else ++ ++.if defined(OBJMACHINE) ++__objdir= obj.${MACHINE} ++.else ++__objdir= obj ++.endif ++ ++.if defined(USR_OBJMACHINE) ++__usrobjdir= ${BSDOBJDIR}.${MACHINE} ++__usrobjdirpf= ++.else ++__usrobjdir= ${BSDOBJDIR} ++.if defined(OBJMACHINE) ++__usrobjdirpf= .${MACHINE} ++.else ++__usrobjdirpf= ++.endif ++.endif ++ ++obj: ++ @cd ${.CURDIR}; rm -f ${__objdir} > /dev/null 2>&1 || true; \ ++ here=`/bin/pwd`; subdir=$${here#${BSDSRCDIR}/}; \ ++ if test $$here != $$subdir ; then \ ++ dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \ ++ echo "$$here/${__objdir} -> $$dest"; \ ++ rm -rf ${__objdir}; \ ++ ln -s $$dest ${__objdir}; \ ++ if test -d ${__usrobjdir} -a ! -d $$dest; then \ ++ mkdir -p $$dest; \ ++ else \ ++ true; \ ++ fi; \ ++ else \ ++ true ; \ ++ dest=$$here/${__objdir} ; \ ++ if test ! -d ${__objdir} ; then \ ++ echo "making $$dest" ; \ ++ mkdir $$dest; \ ++ fi ; \ ++ fi; ++.endif ++ ++print-objdir: ++ @echo ${.OBJDIR} +--- pmake-1.111.orig/mk/bsd.own.mk ++++ pmake-1.111/mk/bsd.own.mk +@@ -0,0 +1,257 @@ ++# $NetBSD: bsd.own.mk,v 1.120 1999/02/24 14:42:36 drochner Exp $ ++ ++.if !defined(_BSD_OWN_MK_) ++_BSD_OWN_MK_=1 ++ ++.if defined(MAKECONF) && exists(${MAKECONF}) ++.include "${MAKECONF}" ++.elif exists(/etc/mk.conf) ++.include "/etc/mk.conf" ++.endif ++ ++# Defining `SKEY' causes support for S/key authentication to be compiled in. ++SKEY= yes ++# Defining `KERBEROS' causes support for Kerberos authentication to be ++# compiled in. ++#KERBEROS= yes ++# Defining 'KERBEROS5' causes support for Kerberos5 authentication to be ++# compiled in. ++#KERBEROS5= 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 ++BINOWN?= root ++BINMODE?= 755 ++NONBINMODE?= 644 ++ ++# Define MANZ to have the man pages compressed (gzip) ++MANZ= 1 ++ ++MANDIR?= /usr/share/man ++MANGRP?= root ++MANOWN?= root ++MANMODE?= ${NONBINMODE} ++MANINSTALL?= maninstall catinstall ++ ++INFODIR?= /usr/share/info ++INFOGRP?= root ++INFOOWN?= root ++INFOMODE?= ${NONBINMODE} ++ ++LIBDIR?= /usr/lib ++LINTLIBDIR?= /usr/libdata/lint ++LIBGRP?= ${BINGRP} ++LIBOWN?= ${BINOWN} ++LIBMODE?= ${NONBINMODE} ++ ++DOCDIR?= /usr/share/doc ++DOCGRP?= root ++DOCOWN?= root ++DOCMODE?= ${NONBINMODE} ++ ++NLSDIR?= /usr/share/nls ++NLSGRP?= root ++NLSOWN?= root ++NLSMODE?= ${NONBINMODE} ++ ++KMODDIR?= /usr/lkm ++KMODGRP?= root ++KMODOWN?= root ++KMODMODE?= ${NONBINMODE} ++ ++COPY?= -c ++.if defined(UPDATE) ++PRESERVE?= -p ++.else ++PRESERVE?= ++.endif ++RENAME?= ++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 ++ ++# XXX The next two are temporary until the transition to UVM is complete. ++ ++# Systems on which UVM is the standard VM system. ++.if ${MACHINE} != "pica" ++UVM?= yes ++.endif ++ ++# Systems that use UVM's new pmap interface. ++.if ${MACHINE} == "alpha" || \ ++ ${MACHINE} == "i386" || \ ++ ${MACHINE} == "pc532" || \ ++ ${MACHINE} == "vax" ++PMAP_NEW?= yes ++.endif ++ ++# The sparc64 port is incomplete. ++.if ${MACHINE_ARCH} == "sparc64" ++NOPROFILE=1 ++NOPIC=1 ++NOLINT=1 ++.endif ++ ++# The PowerPC port is incomplete. ++.if ${MACHINE_ARCH} == "powerpc" ++NOPROFILE= ++.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. ++# ++#.if ${MACHINE_ARCH} == "alpha" || \ ++# ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ ++# ${MACHINE_ARCH} == "powerpc" || \ ++# ${MACHINE_ARCH} == "sparc64" ++#OBJECT_FMT?=ELF ++#.else ++ ++# On Debian GNU/Linux, Everything is ELF. ++OBJECT_FMT?=a.out ++#.endif ++ ++# 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} ++GNU_ARCH.alpha=alpha ++GNU_ARCH.arm32=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.sparc=sparc ++GNU_ARCH.sparc64=sparc ++GNU_ARCH.vax=vax ++.if ${MACHINE_ARCH} == "mips" ++.INIT: ++ @echo Must set MACHINE_ARCH to one of mipseb or mipsel ++ @false ++.endif ++ ++.if ${MACHINE_ARCH} == "sparc64" ++MACHINE_GNU_ARCH=${MACHINE_ARCH} ++.else ++MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}} ++.endif ++ ++TARGETS+= all clean cleandir depend distclean includes install lint obj \ ++ regress tags ++.PHONY: all clean cleandir depend distclean includes install lint obj \ ++ regress tags beforedepend afterdepend beforeinstall \ ++ afterinstall realinstall ++ ++# 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 ++.endif ++ ++# 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?=no ++ ++.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 ++ ++.if defined(NOLINT) ++MKLINT=no ++.else ++MKLINT?=yes ++.endif ++ ++.if defined(NOMAN) ++MKMAN=no ++.else ++MKMAN?=yes ++.endif ++.if ${MKMAN} == "no" ++MKCATPAGES=no ++.endif ++ ++.if defined(NONLS) ++MKNLS=no ++.else ++MKNLS?=yes ++.endif ++ ++.if defined(NOOBJ) ++MKOBJ=no ++.else ++MKOBJ?=yes ++.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 ++ ++ ++.endif # _BSD_OWN_MK_ +--- pmake-1.111.orig/mk/bsd.prog.mk ++++ pmake-1.111/mk/bsd.prog.mk +@@ -0,0 +1,202 @@ ++# $NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $ ++# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleanprog proginstall scriptsinstall ++realinstall: proginstall scriptsinstall ++clean cleandir distclean: cleanprog ++ ++CFLAGS+= ${COPTS} ++ ++# ELF platforms depend on crtbegin.o and crtend.o ++.if ${OBJECT_FMT} == "ELF" ++LIBCRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o ++LIBCRTEND?= ${DESTDIR}/usr/lib/crtend.o ++.else ++LIBCRTBEGIN?= ++LIBCRTEND?= ++.endif ++ ++LIBCRT0?= ++ ++LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a ++LIBC?= ${DESTDIR}/usr/lib/libc.a ++LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a ++LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a ++LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a ++LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a ++LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a ++LIBDES?= ${DESTDIR}/usr/lib/libdes.a ++LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a ++LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a ++LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a ++LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a ++LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a ++LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a ++LIBL?= ${DESTDIR}/usr/lib/libl.a ++LIBM?= ${DESTDIR}/usr/lib/libm.a ++LIBMP?= ${DESTDIR}/usr/lib/libmp.a ++LIBNTP?= ${DESTDIR}/usr/lib/libntp.a ++LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a ++LIBPC?= ${DESTDIR}/usr/lib/libpc.a ++LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a ++LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a ++LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a ++LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a ++LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a ++LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a ++LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a ++LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a ++LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a ++LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a ++LIBY?= ${DESTDIR}/usr/lib/liby.a ++LIBZ?= ${DESTDIR}/usr/lib/libz.a ++ ++.if defined(SHAREDSTRINGS) ++CLEANFILES+=strings ++.c.o: ++ ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c - ++ @${CC} ${CFLAGS} -c x.c -o ${.TARGET} ++ @rm -f x.c ++ ++.cc.o: ++ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - ++ @mv -f x.c x.cc ++ @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET} ++ @rm -f x.cc ++ ++.C.o: ++ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - ++ @mv -f x.c x.C ++ @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET} ++ @rm -f x.C ++.endif ++ ++ ++.if defined(PROG) ++SRCS?= ${PROG}.c ++ ++DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} ++CLEANFILES+= ${DPSRCS} ++.if defined(YHEADER) ++CLEANFILES+= ${SRCS:M*.y:.y=.h} ++.endif ++ ++.if !empty(SRCS:N*.h:N*.sh) ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} ++.endif ++ ++.if defined(OBJS) && !empty(OBJS) ++.NOPATH: ${OBJS} ++.if defined(DESTDIR) ++ ++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} ++ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${LIBCRTEND} ++ ++.else ++ ++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} ++ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} ++ ++.endif # defined(DESTDIR) ++.endif # defined(OBJS) && !empty(OBJS) ++ ++.if !defined(MAN) ++MAN= ${PROG}.1 ++.endif # !defined(MAN) ++.endif # defined(PROG) ++ ++all: ${PROG} ++ ++cleanprog: ++ rm -f a.out [Ee]rrs mklog core *.core \ ++ ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES} ++ ++.if defined(SRCS) ++afterdepend: .depend ++ @(TMP=/tmp/_depend$$$$; \ ++ sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \ ++ < .depend > $$TMP; \ ++ mv $$TMP .depend) ++.endif ++ ++.if defined(PROG) && !target(proginstall) ++PROGNAME?= ${PROG} ++proginstall:: ${DESTDIR}${BINDIR}/${PROGNAME} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${BINDIR}/${PROGNAME} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${BINDIR}/${PROGNAME}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${BINDIR}/${PROGNAME} ++${DESTDIR}${BINDIR}/${PROGNAME}: ${PROG} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} \ ++ -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET} ++.endif ++ ++.if !target(proginstall) ++proginstall:: ++.endif ++ ++.if defined(SCRIPTS) && !target(scriptsinstall) ++SCRIPTSDIR?=${BINDIR} ++SCRIPTSOWN?=${BINOWN} ++SCRIPTSGRP?=${BINGRP} ++SCRIPTSMODE?=${BINMODE} ++.for S in ${SCRIPTS} ++SCRIPTSDIR_${S}?=${SCRIPTSDIR} ++SCRIPTSOWN_${S}?=${SCRIPTSOWN} ++SCRIPTSGRP_${S}?=${SCRIPTSGRP} ++SCRIPTSMODE_${S}?=${SCRIPTSMODE} ++.if defined(SCRIPTSNAME) ++SCRIPTSNAME_${S} ?= ${SCRIPTSNAME} ++.else ++SCRIPTSNAME_${S} ?= ${S:T:R} ++.endif ++SCRIPTSDIR_${S} ?= ${SCRIPTSDIR} ++scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \ ++ ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(scriptsinstall) ++scriptsinstall:: ++.endif ++ ++lint: ${LOBJS} ++.if defined(LOBJS) && !empty(LOBJS) ++ ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD} ++.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. ++regress: +--- pmake-1.111.orig/mk/bsd.subdir.mk ++++ pmake-1.111/mk/bsd.subdir.mk +@@ -0,0 +1,34 @@ ++# $NetBSD: bsd.subdir.mk,v 1.31 1999/02/11 05:01:39 tv Exp $ ++# @(#)bsd.subdir.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> ++.MAIN: all ++.endif ++ ++.for dir in ${SUBDIR} ++.if exists(${dir}.${MACHINE}) ++__REALSUBDIR+=${dir}.${MACHINE} ++.else ++__REALSUBDIR+=${dir} ++.endif ++.endfor ++ ++.for dir in ${__REALSUBDIR} ++.for targ in ${TARGETS} ++.PHONY: ${targ}-${dir} ++${targ}-${dir}: .MAKE ++ @echo "${targ} ===> ${_THISDIR_}${dir}" ++ @cd ${.CURDIR}/${dir}; \ ++ ${MAKE} "_THISDIR_=${_THISDIR_}${dir}/" ${targ} ++subdir-${targ}: ${targ}-${dir} ++${targ}: subdir-${targ} ++.endfor ++.endfor ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++${TARGETS}: +--- pmake-1.111.orig/mk/bsd.sys.mk ++++ pmake-1.111/mk/bsd.sys.mk +@@ -0,0 +1,110 @@ ++# $NetBSD: bsd.sys.mk,v 1.34 1999/01/31 09:17:20 mrg Exp $ ++# ++# Overrides used for NetBSD source tree builds. ++ ++.if defined(WARNS) && ${WARNS} == 1 ++CFLAGS+= -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith ++.endif ++.if !defined(NOGCCERROR) ++CFLAGS+= -Werror ++.endif ++CFLAGS+= ${CWARNFLAGS} ++ ++.if defined(DESTDIR) ++CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include ++LINTFLAGS+= -d ${DESTDIR}/usr/include ++.endif ++ ++.if defined(AUDIT) ++CPPFLAGS+= -D__AUDIT__ ++.endif ++ ++# Helpers for cross-compiling ++HOST_CC?= cc ++HOST_CFLAGS?= -O ++HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c ++HOST_LINK.c?= ${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} ++ ++HOST_CPP?= cpp ++HOST_CPPFLAGS?= ++ ++HOST_LD?= ld ++HOST_LDFLAGS?= ++ ++STRIPPROG?= strip ++ ++ ++.SUFFIXES: .m .o .ln .lo ++ ++# Objective C ++# (Defined here rather than in <sys.mk> because `.m' is not just ++# used for Objective C source) ++.m: ++ ${LINK.m} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.m.o: ++ ${COMPILE.m} ${.IMPSRC} ++ ++# Host-compiled C objects ++.c.lo: ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.IMPSRC} ++ ++ ++.if defined(PARALLEL) || defined(LPREFIX) ++LPREFIX?=yy ++LFLAGS+=-P${LPREFIX} ++# Lex ++.l: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ${LDLIBS} -ll ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.l.c: ++ ${LEX.l} -o${.TARGET} ${.IMPSRC} ++.l.o: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.l.lo: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.endif ++ ++# Yacc ++.if defined(YHEADER) || defined(YPREFIX) ++.if defined(YPREFIX) ++YFLAGS+=-p${YPREFIX} ++.endif ++.if defined(YHEADER) ++YFLAGS+=-d ++.endif ++.y: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS} ++ rm -f ${.TARGET:R}.tab.c ${.TARGET:R}.tab.h ++.y.h: ${.TARGET:R}.c ++.y.c: ++ ${YACC.y} -o ${.TARGET} ${.IMPSRC} ++.y.o: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h ++.y.lo: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h ++.elif defined(PARALLEL) ++.y: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS} ++ rm -f ${.TARGET:R}.tab.c ++.y.c: ++ ${YACC.y} -o ${.TARGET} ${.IMPSRC} ++.y.o: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ++.y.lo: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ++.endif +--- pmake-1.111.orig/mk/sys.mk ++++ pmake-1.111/mk/sys.mk +@@ -0,0 +1,207 @@ ++# $NetBSD: sys.mk,v 1.54 1999/03/10 14:06:14 mycroft Exp $ ++# @(#)sys.mk 8.2 (Berkeley) 3/21/94 ++ ++unix?= We run NetBSD. ++ ++.SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .cl .p .h .sh .m4 ++ ++.LIBS: .a ++ ++AR?= ar ++ARFLAGS?= rl ++RANLIB?= ranlib ++ ++AS?= as ++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?= cc ++.if ${MACHINE_ARCH} == "alpha" || \ ++ ${MACHINE_ARCH} == "arm32" || \ ++ ${MACHINE_ARCH} == "i386" || \ ++ ${MACHINE_ARCH} == "m68k" || \ ++ ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ ++ ${MACHINE_ARCH} == "sparc" ++CFLAGS?= -O2 ++.else ++CFLAGS?= -O ++.endif ++COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c ++LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++CXX?= c++ ++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 ++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?= lorder ++ ++MAKE?= pmake ++ ++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: ++ ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.cc.o: ++ ${COMPILE.cc} ${.IMPSRC} ++.cc.a: ++ ${COMPILE.cc} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++.C: ++ ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.C.o: ++ ${COMPILE.cc} ${.IMPSRC} ++.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} +--- pmake-1.111.orig/arch.c ++++ pmake-1.111/arch.c +@@ -173,7 +173,7 @@ + static FILE *ArchFindMember(char *, char *, struct ar_hdr *, const char *); + #if defined(__svr4__) || defined(__SVR4) || defined(__ELF__) + #define SVR4ARCHIVES +-static int ArchSVR4Entry(Arch *, char *, size_t, FILE *); ++static int ArchSVR4Entry(Arch *, char **, size_t, FILE *); + #endif + + #ifdef CLEANUP +@@ -535,7 +535,7 @@ + Arch *ar; /* Archive descriptor */ + Hash_Entry *he; /* Entry containing member's description */ + struct ar_hdr arh; /* archive-member header for reading archive */ +- char memName[MAXPATHLEN+1]; ++ char *memName = NULL; + /* Current member name while hashing. */ + + /* +@@ -617,7 +617,6 @@ + ar->fnametab = NULL; + ar->fnamesize = 0; + Hash_InitTable(&ar->members, -1); +- memName[AR_MAX_NAME_LEN] = '\0'; + + while (fread ((char *)&arh, sizeof (struct ar_hdr), 1, arch) == 1) { + if (strncmp ( arh.ar_fmag, ARFMAG, sizeof (arh.ar_fmag)) != 0) { +@@ -636,10 +635,9 @@ + arh.ar_size[sizeof(arh.ar_size)-1] = '\0'; + size = (int) strtol(arh.ar_size, NULL, 10); + +- (void) strncpy (memName, arh.ar_name, sizeof(arh.ar_name)); +- for (cp = &memName[AR_MAX_NAME_LEN]; *cp == ' '; cp--) { +- continue; +- } ++ memName = estrdup(arh.ar_name); ++ ++ for(cp = strchr(memName, 0)-1; *cp == ' '; cp--); + cp[1] = '\0'; + + #ifdef SVR4ARCHIVES +@@ -650,7 +648,7 @@ + /* + * svr4 magic mode; handle it + */ +- switch (ArchSVR4Entry(ar, memName, size, arch)) { ++ switch (ArchSVR4Entry(ar, &memName, size, arch)) { + case -1: /* Invalid data */ + goto badarch; + case 0: /* List of files entry */ +@@ -675,8 +673,8 @@ + + unsigned int elen = atoi(&memName[sizeof(AR_EFMT1)-1]); + +- if (elen > MAXPATHLEN) +- goto badarch; ++ memName = erealloc(memName, elen+1); ++ + if (fread (memName, elen, 1, arch) != 1) + goto badarch; + memName[elen] = '\0'; +@@ -692,6 +690,9 @@ + memcpy ((Address)Hash_GetValue (he), (Address)&arh, + sizeof (struct ar_hdr)); + } ++ /* time to free memName */ ++ free(memName); ++ + fseek (arch, (size + 1) & ~1, SEEK_CUR); + } + +@@ -742,15 +743,15 @@ + *----------------------------------------------------------------------- + */ + static int +-ArchSVR4Entry(Arch *ar, char *name, size_t size, FILE *arch) ++ArchSVR4Entry(Arch *ar, char **name, size_t size, FILE *arch) + { + #define ARLONGNAMES1 "//" + #define ARLONGNAMES2 "/ARFILENAMES" + size_t entry; + char *ptr, *eptr; + +- if (strncmp(name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 || +- strncmp(name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) { ++ if (strncmp(*name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 || ++ strncmp(*name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) { + + if (ar->fnametab != NULL) { + if (DEBUG(ARCH)) { +@@ -793,30 +794,30 @@ + return 0; + } + +- if (name[1] == ' ' || name[1] == '\0') ++ if ((*name)[1] == ' ' || (*name)[1] == '\0') + return 2; + +- entry = (size_t) strtol(&name[1], &eptr, 0); +- if ((*eptr != ' ' && *eptr != '\0') || eptr == &name[1]) { ++ entry = (size_t) strtol(&(*name)[1], &eptr, 0); ++ if ((*eptr != ' ' && *eptr != '\0') || eptr == &(*name)[1]) { + if (DEBUG(ARCH)) { +- printf("Could not parse SVR4 name %s\n", name); ++ printf("Could not parse SVR4 name %s\n", *name); + } + return 2; + } + if (entry >= ar->fnamesize) { + if (DEBUG(ARCH)) { + printf("SVR4 entry offset %s is greater than %lu\n", +- name, (u_long)ar->fnamesize); ++ *name, (u_long)ar->fnamesize); + } + return 2; + } + + if (DEBUG(ARCH)) { +- printf("Replaced %s with %s\n", name, &ar->fnametab[entry]); ++ printf("Replaced %s with %s\n", *name, &ar->fnametab[entry]); + } + +- (void) strncpy(name, &ar->fnametab[entry], MAXPATHLEN); +- name[MAXPATHLEN] = '\0'; ++ free(*name); ++ *name = estrdup(&ar->fnametab[entry]); + return 1; + } + #endif +@@ -926,12 +927,9 @@ + isdigit((unsigned char)arhPtr->ar_name[sizeof(AR_EFMT1) - 1])) { + + unsigned int elen = atoi(&arhPtr->ar_name[sizeof(AR_EFMT1)-1]); +- char ename[MAXPATHLEN]; ++ char *ename = NULL; + +- if (elen > MAXPATHLEN) { +- fclose (arch); +- return NULL; +- } ++ ename = emalloc(elen+1); + if (fread (ename, elen, 1, arch) != 1) { + fclose (arch); + return NULL; +@@ -945,6 +943,8 @@ + fseek (arch, -sizeof(struct ar_hdr) - elen, SEEK_CUR); + return (arch); + } ++ /* time to free ename */ ++ free(ename); + fseek (arch, -elen, SEEK_CUR); + goto skip; + } else +--- pmake-1.111.orig/buf.c ++++ pmake-1.111/buf.c +@@ -192,7 +192,8 @@ + { + + if (numBytesPtr != (int *)NULL) { +- *numBytesPtr = bp->inPtr - bp->outPtr; ++ intptr_t num = bp->inPtr - bp->outPtr; ++ *numBytesPtr = num; + } + + return (bp->outPtr); +--- pmake-1.111.orig/compat.c ++++ pmake-1.111/compat.c +@@ -130,7 +130,7 @@ + + Shell_Init(); /* setup default shell */ + +- for (cp = "#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { ++ for (cp = "~#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { + meta[(unsigned char) *cp] = 1; + } + /* +@@ -498,7 +498,7 @@ + } + goto cohorts; + } else if (DEBUG(MAKE)) { +- printf("out-of-date.\n"); ++ printf("out-of-date\n"); + } + + /* +--- pmake-1.111.orig/job.c ++++ pmake-1.111/job.c +@@ -2162,7 +2162,8 @@ + (void) fprintf(stdout, "Remaking `%s'\n", gn->name); + (void) fflush(stdout); + (void) strcpy(job->outFile, TMPPAT); +- job->outFd = mkstemp(job->outFile); ++ if ((job->outFd = mkstemp(job->outFile)) == -1) ++ Punt("Cannot create temp file: %s", strerror(errno)); + (void) fcntl(job->outFd, F_SETFD, 1); + } + } +--- pmake-1.111.orig/main.c ++++ pmake-1.111/main.c +@@ -825,7 +825,10 @@ + * in a different format). + */ + #ifdef POSIX +- Main_ParseArgLine(getenv("MAKEFLAGS")); ++ /* ++ * If we are called by GNU make, do not read MAKEFLAGS. ++ */ ++ Main_ParseArgLine(getenv(getenv("MAKELEVEL") ? "MAKE" : "MAKEFLAGS")); + #else + Main_ParseArgLine(getenv("MAKE")); + #endif +@@ -1149,6 +1152,9 @@ + } + free(path); + return(TRUE); ++ /* `path' is not freed before return because its ++ * pointer is stored somewhere else ++ */ + } + + +--- pmake-1.111.orig/make.1 ++++ pmake-1.111/make.1 +@@ -33,7 +33,7 @@ + .Dt MAKE 1 + .Os + .Sh NAME +-.Nm make ++.Nm pmake + .Nd maintain program dependencies + .Sh SYNOPSIS + .Nm +@@ -1233,7 +1233,7 @@ + .It Ic defined + Takes a variable name as an argument and evaluates to true if the variable + has been defined. +-.It Ic make ++.It Ic pmake + Takes a target name as an argument and evaluates to true if the target + was specified as part of + .Nm Ns 's +@@ -1602,7 +1602,6 @@ + .Sh SEE ALSO + .Xr mkdep 1 + .Sh HISTORY +-A +-.Nm ++A make + command appeared in + .At v7 . +--- pmake-1.111.orig/var.c ++++ pmake-1.111/var.c +@@ -124,6 +124,7 @@ + */ + + #ifndef NO_REGEX ++#include <stdio.h> + #include <sys/types.h> + #include <regex.h> + #endif +--- pmake-1.111.orig/debian/changelog ++++ pmake-1.111/debian/changelog +@@ -0,0 +1,220 @@ ++pmake (1.111-1) unstable; urgency=low ++ ++ * New upstream snapshot. ++ * This version properly parses arguments and does not crash when parameters ++ are missing (Closes: #287336, #316394). ++ * debian/control: ++ + Set policy to 3.6.2.1. ++ ++ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 7 Jul 2005 10:20:56 +0200 ++ ++pmake (1.98-3) unstable; urgency=low ++ ++ * mk/bsd.man.mk: ++ + Use symlinks instead of hard links when using the MLINKS directive ++ to link manual pages, courtesy of Robert Millan. ++ ++ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 12 Mar 2004 13:14:27 +0100 ++ ++pmake (1.98-2) unstable; urgency=low ++ ++ * buf.c: ++ + Work around a GCC 3 ICE on hppa. ++ ++ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 10 Mar 2004 18:43:16 +0100 ++ ++pmake (1.98-1) unstable; urgency=low ++ ++ * New maintainer (Closes: #218804). ++ * New upstream version from NetBSD HEAD (Closes: #134798). ++ * Moved to a non-native package. ++ * debian/rules: ++ + Switched to debhelper. ++ * main.c: ++ + Parse $MAKE instead of $MAKEFLAGS when called from GNU make to avoid ++ strange interactions (Closes: #189097). ++ ++ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 27 Feb 2004 16:04:12 +0100 ++ ++pmake (1.45-11) unstable; urgency=low ++ ++ * Set defaults to match policy better. Closes: #150895. Thanks to ++ Matej Vela for the patch. ++ ++ -- Steve McIntyre <93sam@debian.org> Sun, 30 Jun 2002 23:52:31 +0100 ++ ++pmake (1.45-10) unstable; urgency=low ++ ++ * Fixed broken '.Nm ""' directives in the man page. Closes: #137768 ++ * Changed name from "make" to "pmake" in manpage. ++ ++ -- Steve McIntyre <93sam@debian.org> Tue, 12 Mar 2002 21:59:55 +0000 ++ ++pmake (1.45-9) unstable; urgency=low ++ ++ * Fixed broken .Bl directives in the man page. Closes: #117723 ++ ++ -- Steve McIntyre <93sam@debian.org> Sun, 04 Nov 2001 17:00:14 +0000 ++ ++pmake (1.45-8) unstable; urgency=high ++ ++ * High urgency because of two important bug fixes... ++ * Fixed important bug in getopt handling that broke -n flag in ++ recursive Makefiles. Closes: #109608 ++ * Modified shared library targets to use $(CC) -shared instead of ++ $(LD) -x -shared, which didn't work. Closes: #109959 ++ ++ -- Steve McIntyre <93sam@debian.org> Sat, 08 Sep 2001 15:35:11 +0100 ++ ++pmake (1.45-7) unstable; urgency=low ++ ++ * Don't depend on particular locations of groff's macros, as they may ++ change, and indeed have done with groff 1.17 (closes: ++ #101973). Thanks to Colin Watson for the patch. ++ ++ -- Steve McIntyre <93sam@debian.org> Sun, 24 Apr 2001 02:40:21 +0100 ++ ++pmake (1.45-6) unstable; urgency=low ++ ++ * Make sure that make execs a shell to expand target rules ++ containing "~". Closes: #89313. ++ * Fixed the definition of "sh" in job.c so that pmake will play ++ nicely with bash if non-compat mode is used (e.g parallel ++ makes). It was assuming that "sh" was "ash" and understood the -q ++ flag. ++ ++ -- Steve McIntyre <93sam@debian.org> Tue, 17 Apr 2001 02:10:41 +0100 ++ ++pmake (1.45-5) unstable; urgency=low ++ ++ * Applied patch for Hurd from Igor Khavkine <i_khavki@alcor.concordia.ca>. ++ * Added Build-Depends for groff. Closes: #90358 ++ * New maintainer address ++ * Updated Standards-Version. ++ ++ -- Steve McIntyre <93sam@debian.org> Thu, 22 Mar 2001 19:19:08 +0100 ++ ++pmake (1.45-4) unstable; urgency=low ++ ++ * New maintainer. ++ * Updated Standards-Version. ++ * Fixed multiple lintian warnings. ++ ++ -- Steve McIntyre <stevem@chiark.greenend.org.uk> Sun, 21 May 2000 18:36:23 +0100 ++ ++pmake (1.45-3.2) frozen unstable; urgency=low ++ ++ * it's for frozen too ++ ++ -- Jim Lynch <jwl@debian.org> Mon, 6 Mar 2000 09:03:28 +0800 ++ ++pmake (1.45-3.1) unstable; urgency=low ++ ++ * Apply patch in Bug#56878 (Closes Bug#56878) ++ ++ -- Jim Lynch <jwl@debian.org> Sun, 5 Mar 2000 12:45:54 +0800 ++ ++pmake (1.45-3) unstable; urgency=low ++ ++ * Unconditionally set OBJECT_FMT to "a.out" in mk/bsd.own.mk (Fixes ++ crtbegin/crtend.o problems on powerpc and alpha). (Closes Bug#38951). ++ ++ -- Edward Brocklesby <ejb@debian.org> Sun, 6 Jun 1999 09:35:15 +0000 ++ ++pmake (1.45-2) unstable; urgency=low ++ ++ * Fixed crt0.o stuff in mk/bsd.prog.mk. ++ * Fixed FUD in /usr/share/mk/bsd.README ++ ++ -- Edward Brocklesby <ejb@debian.org> Sun, 23 May 1999 16:55:06 +0000 ++ ++pmake (1.45-1) unstable; urgency=low ++ ++ * New upstream version. ++ * Moved mk files back from /usr/lib/mk to /usr/share/mk. ++ ++ -- Edward Brocklesby <ejb@debian.org> Wed, 5 May 1999 21:08:58 +0000 ++ ++pmake (1.39-4) unstable; urgency=low ++ ++ * New maintainer. ++ ++ -- Edward Brocklesby <ejb@debian.org> Tue, 23 Feb 1999 21:01:53 +0000 ++ ++pmake (1.39-3) unstable; urgency=low ++ ++ * debian/control (Maintainer): new address. ++ * debian/copyright: ditto. ++ * debian/control (Standards-Version): updated to 2.5.0.0. ++ ++ -- James Troup <james@nocrew.org> Tue, 10 Nov 1998 13:37:41 +0000 ++ ++pmake (1.39-2) frozen unstable; urgency=medium ++ ++ * mk/bsd.man.mk: correct CATDEPS, Herbet Xu ++ <herbert@gondor.apana.org.au>. [#21158] ++ * debian/control (Standards-Version): Updated to 2.4.1.0. ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Wed, 15 Apr 1998 12:12:11 +0200 ++ ++pmake (1.39-1) unstable; urgency=high ++ ++ * New upstream version [98-03-16]. ++ * Reverts back to .orig.tar.gz and .diff.gz. ++ * Replace mkdep with the one from OpenBSD as it deals with temporary ++ files in a secure fashion. [#19806] ++ * pmake now comes with ASCII and postscript versions of the pmake ++ tutorial in /usr/doc/pmake/. ++ * debian/control: Updated Standards-Version to 2.4.0.0 [#16780]. ++ * debian/copyright: Corrected ftp site information. ++ * debian/copyright: Expanded changes description. ++ * debian/rules: No longer uses {,} and other minor changes. ++ * mk/bsd.doc.mk: Groff's tmac macros are in /usr/share/groff/tmac, ++ not /usr/share/tmac on Debian GNU/Linux. ++ * mk/bsd.lib.mk: added a machine definition "debian". ++ * mk/bsd.own.mk: s#/usr/share/"/usr/" for MANDIR and DOCDIR. ++ * mk/bsd.own.mk: s/wheel/root/g. ++ * mk/bsd.own.mk: define MANZ. ++ * mk/bsd.own.mk: don't make files unwritable by owner. ++ * mk/bsd.prog.mk: undefine LIBCRT0. ++ * mk/sys.mk: MAKE is pmake not GNU make. ++ * var.c: #include <stdio.h> because <regex.h> needs it. ++ * util.c: don't try to redefine libc functions by #ifndefing a large ++ chunk on (__linux__). ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Thu, 19 Mar 1998 20:53:45 +0100 ++ ++pmake (1.0-17) unstable; urgency=low ++ ++ * Fixed mk/bsd.lib.mk so that bogus `-q' argument isn't passed to ++ tsort [#11536] ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Mon, 28 Jul 1997 21:17:39 +0100 ++ ++pmake (1.0-16) unstable; urgency=low ++ ++ * Abandonned debian diff, since the diff is bigger than the original ++ source. ++ * Added mkdep (again from NetBSD Current) [fixes #11464]. ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Fri, 25 Jul 1997 13:50:44 +0100 ++ ++pmake (1.0-15) unstable; urgency=low ++ ++ * Updated source to NetBSD Current. ++ * Rebuilt with libc6. ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Sat, 5 Jul 1997 01:10:27 +0100 ++ ++pmake (1.0-14) unstable; urgency=low ++ ++ * New maintainer. ++ * Upgraded to Standards 2.1.3.0 (Fixes bug #9491, #3793). ++ * bsd.lib.mk no longer passes spurious `T' argument to ar ++ (Fixes bug #3793), patch from Philip Blundell <pb@nexus.co.uk>. ++ ++ -- James Troup <jjtroup@comp.brad.ac.uk> Wed, 14 May 1997 01:34:07 +0100 ++ ++Local variables: ++mode: debian-changelog ++End: +--- pmake-1.111.orig/debian/control ++++ pmake-1.111/debian/control +@@ -0,0 +1,15 @@ ++Source: pmake ++Section: devel ++Priority: optional ++Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org> ++Standards-Version: 3.6.2.1 ++Build-Depends: debhelper (>= 4.0), groff ++ ++Package: pmake ++Architecture: any ++Depends: ${shlibs:Depends} ++Description: NetBSD make ++ pmake is a program designed to simplify the maintenance of other ++ programs. Its input is a list of specifications as to the files upon ++ which programs and other files depend. mkdep, a program to construct ++ Makefile dependency lists, is also included. +--- pmake-1.111.orig/debian/copyright ++++ pmake-1.111/debian/copyright +@@ -0,0 +1,71 @@ ++This is the Debian GNU/Linux prepackaged version of 4.4BSD make (pmake). ++ ++This package was put together by James Troup <james@nocrew.org>, from ++sources obtained from: ++ ftp.netbsd.org:/pub/NetBSD-current/src/usr.bin/make/ ++ ftp.openbsd.org:/pub/OpenBSD/src/usr.bin/mkdep/ ++ ftp.netbsd.org:/pub/NetBSD-current/src/share/mk/ ++This package was rebuilt by Sam Hocevar <sam@zoy.org> from the NetBSD ++CVS tree available from: ++ cvs://anoncvs@anoncvs.NetBSD.org:/cvsroot (module /src/usr.bin/make/) ++ ++Changes: ++ o added Debian GNU/Linux package maintenance system files. ++ o var.c: #include <stdio.h> because <regex.h> needs it. ++ o util.c: don't try to redefine libc functions by #ifndefing a large ++ chunk on (__linux__). ++ o mk/bsd.doc.mk: don't give groff explicit macro paths; instead let it work ++ them out for itself. ++ o mk/bsd.lib.mk: added a machine definition "debian" for Debian GNU/Linux. ++ o mk/bsd.man.mk: correct CATDEPS, Herbet Xu <herbert@gondor.apana.org.au>. ++ o mk/bsd.own.mk: change MANDIR and DOCDIR to reflect the FSSTND ++ orientated Debian GNU/Linux directory structure ++ (i.e. /usr/share/* -> /usr/*). ++ o mk/bsd.own.mk: s/wheel/root/g. ++ o mk/bsd.own.mk: define MANZ. ++ o mk/bsd.own.mk: don't make files unwritable by owner. ++ o mk/bsd.prog.mk: undefine LIBCRT0. ++ o mk/sys.mk: MAKE should be pmake and not make on Debian GNU/Linux. ++ o mk/sys.mk: tsort from bsdmainutils doesn't accept -q as an argument, ++ so don't try to pass it. ++ ++Modifications for Debian Copyright (C) 1997,1998 James Troup. ++ Copyright (C) 1999 Edward Brocklesby. ++ Copyright (C) 2003,2004 Sam Hocevar. ++/* ++ * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. ++ * Copyright (c) 1988, 1989 by Adam de Boor ++ * Copyright (c) 1989 by Berkeley Softworks ++ * All rights reserved. ++ * ++ * This code is derived from software contributed to Berkeley by ++ * Adam de Boor. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ +--- pmake-1.111.orig/debian/rules ++++ pmake-1.111/debian/rules +@@ -0,0 +1,61 @@ ++#!/usr/bin/make -f ++ ++#export DH_VERBOSE=1 ++ ++ARCH=$(shell dpkg --print-gnu-build-architecture) ++CFLAGS="-O2 -g -Wall -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= \ ++ -I. -DMACHINE=\\\"debian\\\" -DMACHINE_ARCH=\\\"${ARCH}\\\" \ ++ -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME \ ++ -DHAVE_VSNPRINTF \ ++ -D_GNU_SOURCE" ++ ++build: build-stamp ++build-stamp: ++ dh_testdir ++ $(MAKE) -f Makefile.boot CFLAGS=$(CFLAGS) ++ touch build-stamp ++ ++clean: ++ dh_testdir ++ dh_testroot ++ rm -f build-stamp ++ $(MAKE) -f Makefile.boot clean ++ rm -f pmake pmake.1 ++ dh_clean ++ ++install: build ++ dh_testdir ++ dh_testroot ++ dh_clean -k ++ dh_installdirs usr/bin usr/share/mk usr/share/doc/pmake ++ cp bmake pmake ++ cp make.1 pmake.1 ++ dh_install pmake mkdep usr/bin ++ dh_install mk/* usr/share/mk/ ++ groff -Tascii -ms PSD.doc/tutorial.ms > \ ++ debian/pmake/usr/share/doc/pmake/tutorial.asc ++ groff -Tps -ms PSD.doc/tutorial.ms > \ ++ debian/pmake/usr/share/doc/pmake/tutorial.ps ++ gzip -9v debian/pmake/usr/share/doc/pmake/* ++ ++binary-indep: build install ++ ++binary-arch: build install ++ dh_testdir ++ dh_testroot ++ dh_installdocs ++ dh_installchangelogs ++ dh_install ++ dh_installman pmake.1 mkdep.1 ++ dh_link ++ dh_strip ++ dh_compress ++ dh_fixperms ++ dh_installdeb ++ dh_shlibdeps ++ dh_gencontrol ++ dh_md5sums ++ dh_builddeb ++ ++binary: binary-indep binary-arch ++.PHONY: build clean binary-indep binary-arch binary install +--- pmake-1.111.orig/debian/compat ++++ pmake-1.111/debian/compat +@@ -0,0 +1 @@ ++4 +--- pmake-1.111.orig/mkdep ++++ pmake-1.111/mkdep +@@ -0,0 +1,113 @@ ++#!/bin/sh - ++# ++# $OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $ ++# $NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $ ++# ++# Copyright (c) 1991, 1993 ++# The Regents of the University of California. All rights reserved. ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# 1. Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# 3. All advertising materials mentioning features or use of this software ++# must display the following acknowledgement: ++# This product includes software developed by the University of ++# California, Berkeley and its contributors. ++# 4. Neither the name of the University nor the names of its contributors ++# may be used to endorse or promote products derived from this software ++# without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++# SUCH DAMAGE. ++# ++# @(#)mkdep.gcc.sh 8.1 (Berkeley) 6/6/93 ++# ++ ++D=.depend # default dependency file is .depend ++append=0 ++pflag= ++ ++while : ++ do case "$1" in ++ # -a appends to the depend file ++ -a) ++ append=1 ++ shift ;; ++ ++ # -f allows you to select a makefile name ++ -f) ++ D=$2 ++ shift; shift ;; ++ ++ # the -p flag produces "program: program.c" style dependencies ++ # so .o's don't get produced ++ -p) ++ pflag=p ++ shift ;; ++ *) ++ break ;; ++ esac ++done ++ ++if [ $# = 0 ] ; then ++ echo 'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...' ++ exit 1 ++fi ++ ++DTMP=/tmp/mkdep$$ ++TMP=$DTMP/mkdep ++ ++um=`umask` ++umask 022 ++if ! mkdir $DTMP ; then ++ echo failed to create tmp dir $DTMP ++ exit 1 ++fi ++ ++umask $um ++trap 'rm -rf $DTMP ; trap 2 ; kill -2 $$' 1 2 3 13 15 ++ ++if [ x$pflag = x ]; then ++ ${CC:-cc} -M "$@" | sed -e 's; \./; ;g' > $TMP ++else ++ ${CC:-cc} -M "$@" | sed -e 's;\.o :; :;' -e 's; \./; ;g' > $TMP ++fi ++ ++if [ $? != 0 ]; then ++ echo 'mkdep: compile failed.' ++ rm -rf $DTMP ++ exit 1 ++fi ++ ++if [ $append = 1 ]; then ++ cat $TMP >> $D ++ if [ $? != 0 ]; then ++ echo 'mkdep: append failed.' ++ rm -rf $DTMP ++ exit 1 ++ fi ++else ++ mv $TMP $D ++ if [ $? != 0 ]; then ++ echo 'mkdep: rename failed.' ++ rm -rf $DTMP ++ exit 1 ++ fi ++fi ++ ++rm -rf $DTMP ++exit 0 +--- pmake-1.111.orig/mkdep.1 ++++ pmake-1.111/mkdep.1 +@@ -0,0 +1,106 @@ ++.\" $OpenBSD: mkdep.1,v 1.3 1998/09/26 19:55:08 aaron Exp $ ++.\" $NetBSD: mkdep.1,v 1.3 1994/12/23 07:34:56 jtc Exp $ ++.\" ++.\" Copyright (c) 1987, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 3. All advertising materials mentioning features or use of this software ++.\" must display the following acknowledgement: ++.\" This product includes software developed by the University of ++.\" California, Berkeley and its contributors. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)mkdep.1 8.1 (Berkeley) 6/6/93 ++.\" ++.Dd June 6, 1993 ++.Dt MKDEP 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm mkdep ++.Nd construct Makefile dependency list ++.Sh SYNOPSIS ++.Nm mkdep ++.Op Fl ap ++.Op Fl f Ar file ++.Op Ar flags ++.Ar file Op Ar ... ++.Sh DESCRIPTION ++.Nm mkdep ++takes a set of flags for the C compiler and a list ++of C source files as arguments and constructs a set of include ++file dependencies which are written into the file ``.depend''. ++An example of its use in a Makefile might be: ++.Bd -literal -offset indent ++CFLAGS= -O -I../include ++SRCS= file1.c file2.c ++ ++depend: ++ mkdep ${CFLAGS} ${SRCS} ++.Ed ++.Pp ++where the macro SRCS is the list of C source files and the macro ++CFLAGS is the list of flags for the C compiler. ++.Pp ++The options are as follows: ++.Bl -tag -width Ds ++.It Fl a ++Append to the output file, ++so that multiple ++.Nm mkdep Ns 's ++may be run from a single Makefile. ++.It Fl f Ar file ++Write the include file dependencies to ++.Ar file , ++instead of the default ``.depend''. ++.It Fl p ++Cause ++.Nm mkdep ++to produce dependencies of the form: ++.Bd -literal -offset indent ++program: program.c ++.Ed ++.Pp ++so that subsequent makes will produce ++.Ar program ++directly from its C module rather than using an intermediate ++.Pa \&.o ++module. ++This is useful for programs whose source is contained in a single ++module. ++.El ++.Sh SEE ALSO ++.Xr cc 1 , ++.Xr cpp 1 , ++.Xr make 1 ++.Sh FILES ++.Bl -tag -width .depend -compact ++.It Pa .depend ++file containing list of dependencies ++.El ++.Sh HISTORY ++The ++.Nm mkdep ++command appeared in ++.Bx 4.3 Tahoe . |