Date: Sat, 04 Oct 1997 09:45:50 +0200 From: Mark Murray <mark@grondar.za> To: current@freebsd.org Subject: Patches so parallel make works (on SMP) Message-ID: <199710040745.JAA28726@greenpeace.grondar.za>
next in thread | raw e-mail | index | archive | help
This is a multipart MIME message. --==_Exmh_6587434810 Content-Type: text/plain; charset=us-ascii Hi Some folks posted these patches some days (weeks?) ago, and they weren't really followed up. Seing that I have a brand new SMP-capable motherboard witrh 2xP5/200, I felt the need to make this work. The original patches were fore an earlier CURRENT, and some of the bits have been applied. Included in this are the diffs to my tree (as of CURRENT/3-Oct-1997), and these patches have been used (twice!) to do a # make -j12 world with /usr/obj _empty_to_start_with_. There is a DRAMATIC improvement in the speed of a make world when you do this!! I include the patches, and the README parts of the original authors' postings. Enjoy! M -- Mark Murray Join the anti-SPAM movement: http://www.cauce.org --==_Exmh_6587434810 Content-Type: text/plain ; name="README2"; charset=us-ascii Content-Description: README2 Content-Disposition: attachment; filename="README2" Message-Id: <199709141740.CAA02407@peace.calm.imasy.or.jp> To: nnd@itfs.nsk.su Cc: current@FreeBSD.ORG Cc: ume@calm.imasy.or.jp Subject: Re: Make and SMP - what can be done ? References: <5t64ts$7ae@news.itfs.nsk.su> Date: Mon, 15 Sep 1997 02:40:10 +0900 From: Hajimu UMEMOTO <ume@calm.imasy.or.jp> >>>>> On 17 Aug 1997 06:15:24 GMT, nnd@itfs.nsk.su said: nnd> Here is a report of my experiments in "parallel" nnd> world making. I applied your patch with recent -current, and tried `make -j8 buildworld'. It failed in sys/i386/boot/netboot. sys/i386/boot/netboot/Makefile is seems to not parallel-safe. Here is a patch. --==_Exmh_6587434810 Content-Type: text/plain ; name="README"; charset=us-ascii Content-Description: README Content-Disposition: attachment; filename="README" From: nnd@itfs.nsk.su To: current@FreeBSD.ORG Subject: Re: Make and SMP - what can be done ? Date: 25 Aug 1997 12:18:04 GMT Message-ID: <5trt5s$kh1@news.itfs.nsk.su> References: <199708130432.VAA06415@silvia.HIP.Berkeley.EDU> <5t64ts$7ae@news.it fs.nsk.su> This weekend's results of "parallel buildworld" investigations: To make 'buildworld' target making more "parallel" I try to do 'make depend' step with '-j12' flag and fails (;-). 1) First reason to this fault is in 'bsd.dep.mk' where 'depend' target usually looks like: depend: beforedepend .depend afterdepend _SUBDIR which (from the names of 'before/after'depend targets) assumes "sequential" evaluation. The patch (bsd.dep-patch) address this problem and (nearly) solves it. The only unsolved case - if there is 'Makefile' wich sets dependencies for 'beforedepend' target BUT not defines actions for such a rule. It turns out that all such cases in FreeBSD-3.0 src tree can be solved by deleting such a rule for 'beforedepend' from corresponding 'Makefile' and adding all the sources from this rule to the SRCS variable (see the patches for Makefiles later in this message). 2) The second source of troubles was presented by "functions with many results" (;-) - i.e. ${YACC} or ${BISON} commands which produces both <something.c> and <something.h> and have the following sort of rules for them in Makefile(s): foo.c bar.h: baz.y ${YACC} ... baz.y mv y.tab.c foo.c mv y.tab.h bar.h Such a rules obviously presents problems when we try to use "parallel making". All the reallife (i.e. from FreeBSD src tree) examples of such rules can be made "parallel-safe" by adding the rule of the form: .ORDER: foo.c bar.h to the corresponding Makefile. To be correct such an additional rule must followed the requirement - "The first source of this rule must be required for all those targets (all,install, depend ...) for which the second one is necessary". 3) src/gnu/cc/cc_tools/Makefile is too complex (to me) to make it "parallel safe" with respect to 'make -j12 depend' ;-( So I gave up and insert '.SINGLESHELL:' rule in this Makefile which sets the 'compatMake' compatible mode ;-) 4) Some of the 'builworld' steps are too "sequential" - f.e cleaning or rebuilding of the 'obj' tree. There is the shell's 'for' loop through SUBDIRs and small number of the (simple) commands for each of (sub)directory. To feed SMP system with more work I change some of such steps (see the 'par-<something>" part in Makefile.patch). Such a construct must be used very carefully - it can produce too many processes ;-). As a result my last successfull 'make -j12 buildworld' produced 170.9% processor's usage and takes 2:54:00 as opposed to 104.1% and 4:34:23 for 'make buildworld' (without any patches). To achieve this I use following patches: 1) 'make-patch' - propagate '-B' flag to inner 'make's; 2) 'bsd.dep-patch' - to "order" depend's subtargets; 3) 'makefiles-patch' - to make various Makefiles "parallel-safe"; 4) 'Makefile-patch' - patch to src/Makefile to restrict "parallelism" in some cases and to "broaden" it in other steps. --==_Exmh_6587434810 Content-Type: text/plain; name="SMP.diff"; charset=us-ascii Content-Description: SMP.diff Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="SMP.diff" Index: Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/Makefile,v retrieving revision 1.148 diff -u -d -r1.148 Makefile --- Makefile 1997/09/28 16:25:28 1.148 +++ Makefile 1997/10/03 05:58:33 @@ -154,7 +154,7 @@ cd ${.CURDIR} && ${MAKE} pre-world .endif cd ${.CURDIR} && ${MAKE} buildworld - cd ${.CURDIR} && ${MAKE} installworld + cd ${.CURDIR} && ${MAKE} -B installworld .if target(post-world) @echo @echo "--------------------------------------------------------------" @@ -224,9 +224,10 @@ mkdir -p ${WORLDTMP}/usr/bin cd ${.CURDIR}/usr.bin/make && \ ${IBMAKE} -I${.CURDIR}/share/mk \ - ${CLEANDIR} ${OBJDIR} depend && \ + -B ${CLEANDIR} ${OBJDIR} depend && \ + ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} all && \ ${IBMAKE} -I${.CURDIR}/share/mk ${MK_FLAGS} \ - all install clean cleandepend + -B all install clean cleandepend @echo @echo "--------------------------------------------------------------" @echo " Making hierarchy" @@ -237,14 +238,14 @@ @echo "--------------------------------------------------------------" @echo " Cleaning up the obj tree" @echo "--------------------------------------------------------------" - cd ${.CURDIR} && ${BMAKE} ${CLEANDIR} + cd ${.CURDIR} && ${BMAKE} par-${CLEANDIR} .endif .if !defined(NOOBJDIR) @echo @echo "--------------------------------------------------------------" @echo " Rebuilding the obj tree" @echo "--------------------------------------------------------------" - cd ${.CURDIR} && ${BMAKE} obj + cd ${.CURDIR} && ${BMAKE} par-obj .endif @echo @echo "--------------------------------------------------------------" @@ -280,7 +281,7 @@ @echo "--------------------------------------------------------------" @echo " Rebuilding dependencies" @echo "--------------------------------------------------------------" - cd ${.CURDIR} && ${XMAKE} depend + cd ${.CURDIR} && ${XMAKE} -j4 par-depend @echo @echo "--------------------------------------------------------------" @echo " Building everything.." @@ -423,11 +424,14 @@ cd ${.CURDIR}/include && make symlinks .endif cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR} + ${MAKE} ${MK_FLAGS} -DNOLIB && \ + ${MAKE} ${MK_FLAGS} -DNOLIB -B install ${CLEANDIR} .if !defined(NOOBJDIR) cd ${.CURDIR}/usr.bin/lex && ${MAKE} obj .endif @@ -441,8 +445,9 @@ # on cleaned away headers in ${WORLDTMP}. # include-tools: - cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} cleandepend depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} -B cleandepend depend && \ + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} = # # includes - possibly generate and install the include files. @@ -453,7 +458,7 @@ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${DESTDIR}/usr/include .endif - cd ${.CURDIR}/include && ${MAKE} all install + cd ${.CURDIR}/include && ${MAKE} -B all install cd ${.CURDIR}/gnu/include && ${MAKE} install cd ${.CURDIR}/gnu/lib/libmp && ${MAKE} beforeinstall cd ${.CURDIR}/gnu/lib/libobjc && ${MAKE} beforeinstall @@ -528,7 +533,8 @@ usr.bin/ranlib \ usr.bin/uudecode cd ${.CURDIR}/$d && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endfor = # @@ -537,43 +543,53 @@ libraries: .if exists(lib/csu/i386) cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(lib/libcompat) cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(lib/libncurses) cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(lib/libtermcap) cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(gnu) cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) cd ${.CURDIR}/secure/lib && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(lib) cd ${.CURDIR}/lib && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(usr.bin/lex/lib) cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if !defined(NOCRYPT) && defined(MAKE_KERBEROS4) cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif .if exists(usr.sbin/pcvt/keycap) cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} .endif = # @@ -644,7 +660,25 @@ usr.sbin/mtree \ usr.sbin/zic cd ${.CURDIR}/$d && ${MAKE} depend && \ - ${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} + ${MAKE} ${MK_FLAGS} all && \ + ${MAKE} ${MK_FLAGS} -B install ${CLEANDIR} ${OBJDIR} +.endfor + +.for __target in clean cleandir obj depend +.for entry in ${SUBDIR} +${entry}.${__target}__D: .PHONY + if test -d ${.CURDIR}/${entry}.${MACHINE}; then \ + ${ECHODIR} "=3D=3D=3D> ${DIRPRFX}${entry}.${MACHINE}"; \ + edir=3D${entry}.${MACHINE}; \ + cd ${.CURDIR}/$${edir}; \ + else \ + ${ECHODIR} "=3D=3D=3D> ${DIRPRFX}${entry}"; \ + edir=3D${entry}; \ + cd ${.CURDIR}/$${edir}; \ + fi; \ + ${MAKE} ${__target} DIRPRFX=3D${DIRPRFX}$${edir}/ +.endfor +par-${__target}: ${SUBDIR:S/$/.${__target}__D/} .endfor = .include <bsd.subdir.mk> Index: bin/sh/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/bin/sh/Makefile,v retrieving revision 1.22 diff -u -d -r1.22 Makefile --- Makefile 1997/08/25 19:50:01 1.22 +++ Makefile 1997/10/02 22:03:09 @@ -7,7 +7,8 @@ mystring.c options.c output.c parser.c printf.c redir.c show.c \ trap.c var.c GENSRCS=3D arith.c arith_lex.c builtins.c init.c nodes.c syntax.c -SRCS=3D ${SHSRCS} ${GENSRCS} +GENHDRS=3D builtins.h nodes.h syntax.h token.h +SRCS=3D ${SHSRCS} ${GENSRCS} ${GENHDRS} = DPADD+=3D ${LIBL} ${LIBEDIT} ${LIBTERMCAP} LDADD+=3D -ll -ledit -ltermcap @@ -19,13 +20,13 @@ = .PATH: ${.CURDIR}/bltin ${.CURDIR}/../../usr.bin/printf = -CLEANFILES+=3D builtins.h mkinit mkinit.o mknodes mknodes.o \ +CLEANFILES+=3D mkinit mkinit.o mknodes mknodes.o \ mksyntax mksyntax.o \ - nodes.h syntax.h token.h y.tab.h -CLEANFILES+=3D ${GENSRCS} + y.tab.h +CLEANFILES+=3D ${GENSRCS} ${GENHDRS} = -beforedepend: builtins.h nodes.h syntax.h token.h = +.ORDER: builtins.c builtins.h builtins.c builtins.h: mkbuiltins builtins.def cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR} = @@ -45,9 +46,11 @@ mksyntax: mksyntax.o mksyntax.o: mksyntax.c # XXX and many headers = +.ORDER: nodes.c nodes.h nodes.c nodes.h: mknodes nodetypes nodes.c.pat ./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat = +.ORDER: syntax.c syntax.h syntax.c syntax.h: mksyntax ./mksyntax = Index: gnu/usr.bin/cc/cc1plus/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/cc/cc1plus/Makefile,v retrieving revision 1.12 diff -u -d -r1.12 Makefile --- Makefile 1997/06/29 06:03:27 1.12 +++ Makefile 1997/10/02 22:01:17 @@ -6,7 +6,7 @@ .PATH: ${.CURDIR}/../../../../contrib/gcc/cp = PROG =3D cc1plus -SRCS =3D parse.c \ +SRCS =3D parse.c parse.h \ call.c class.c cvt.c decl.c decl2.c edsel.c errfn.c \ error.c except.c expr.c gc.c init.c lex.c method.c pt.c \ ptree.c repo.c search.c sig.c spew.c tree.c typeck.c typeck2.c xref.c @@ -17,6 +17,7 @@ LDADD+=3D ${LIBCC_INT} CFLAGS+=3D -I. # I mean it. = +.ORDER: parse.c parse.h parse.c parse.h: parse.y ${BISON} -d ${GCCDIR}/cp/parse.y -o parse.c = grep '^#define[ ]*YYEMPTY' parse.c >>parse.h Index: gnu/usr.bin/cc/cc_tools/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/cc/cc_tools/Makefile,v retrieving revision 1.3 diff -u -d -r1.3 Makefile --- Makefile 1997/02/22 15:44:58 1.3 +++ Makefile 1997/10/02 22:01:17 @@ -26,8 +26,9 @@ = .endfor = +.ORDER: bi-parser.c bi-parser.h bi-parser.c bi-parser.h: bi-parser.y - ${BISON} ${BISONFLAGS} -d ${.ALLSRC} -o ${.TARGET} + ${BISON} ${BISONFLAGS} -d ${.ALLSRC} -o bi-parser.c = SRCS+=3D bi-parser.c bi-parser.h = @@ -82,6 +83,7 @@ = #-----------------------------------------------------------------------= # C parser +.ORDER: c-parse.c c-parse.h c-parse.c c-parse.h: c-parse.in sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \ -e "/^ifc$$/d" -e "/^end ifc$$/d" \ @@ -94,6 +96,7 @@ = #-----------------------------------------------------------------------= # objc parser +.ORDER: objc-parse.c objc-parse.h objc-parse.c objc-parse.h: c-parse.in sed -e "/^ifc$$/,/^end ifc$$/d" \ -e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \ @@ -114,6 +117,12 @@ = #-----------------------------------------------------------------------= all: ${BINFORMAT} ${SRCS} + +#-----------------------------------------------------------------------= +# Make 'depend' in compat mode +.if make(depend) +.SINGLESHELL: +.endif = beforedepend: ${BINFORMAT} = Index: gnu/usr.bin/cc/cpp/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/cc/cpp/Makefile,v retrieving revision 1.9 diff -u -d -r1.9 Makefile --- Makefile 1997/02/22 15:44:59 1.9 +++ Makefile 1997/10/02 22:01:17 @@ -9,6 +9,7 @@ MAN1=3D cccp.1 MLINKS=3D cccp.1 cpp.1 = +.ORDER: cexp.c cexp.h cexp.c cexp.h: cexp.y ${BISON} -d ${GCCDIR}/cexp.y -o cexp.c = Index: gnu/usr.bin/gdb/gdb/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/gdb/gdb/Makefile,v retrieving revision 1.28 diff -u -d -r1.28 Makefile --- Makefile 1997/05/02 11:22:51 1.28 +++ Makefile 1997/10/02 22:01:17 @@ -39,7 +39,8 @@ #CFLAGS+=3D -g = CLEANFILES+=3D c-exp.c f-exp.c m2-exp.c init.c y.tab.h init.c-tmp -beforedepend: c-exp.c f-exp.c m2-exp.c init.c +#beforedepend: c-exp.c f-exp.c m2-exp.c init.c +.ORDER: c-exp.c f-exp.c m2-exp.c = .if exists(${.OBJDIR}/../bfd) LDADD+=3D -L${.OBJDIR}/../bfd -lbfd Index: lib/libpcap/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/lib/libpcap/Makefile,v retrieving revision 1.16 diff -u -d -r1.16 Makefile --- Makefile 1997/05/27 00:08:01 1.16 +++ Makefile 1997/10/02 22:01:17 @@ -32,6 +32,7 @@ ${DESTDIR}/usr/include .endfor = +.ORDER: grammar.c tokdefs.h tokdefs.h grammar.c: grammar.y ${YACC} ${YACCFLAGS} -d ${PCAP_DISTDIR}/grammar.y mv y.tab.c grammar.c Index: libexec/ftpd/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/libexec/ftpd/Makefile,v retrieving revision 1.22 diff -u -d -r1.22 Makefile --- Makefile 1997/04/29 12:42:07 1.22 +++ Makefile 1997/07/31 06:58:53 @@ -5,7 +5,8 @@ MAN8=3D ftpd.8 SRCS=3D ftpd.c ftpcmd.c logwtmp.c popen.c skey-stuff.c = -CFLAGS+=3D-DSETPROCTITLE -DSKEY -DLOGIN_CAP -DVIRTUAL_HOSTING -Wall +CFLAGS+=3D-DSETPROCTITLE -DSKEY -DLOGIN_CAP -DVIRTUAL_HOSTING -Wall \ + -I${.CURDIR}/../../contrib-crypto/telnet = LDADD=3D -lskey -lmd -lcrypt -lutil DPADD=3D ${LIBSKEY} ${LIBMD} ${LIBCRYPT} ${LIBUTIL} @@ -19,7 +20,7 @@ CFLAGS+=3D-DINTERNAL_LS -Dmain=3Dls_main -I${.CURDIR}/${LSDIR} .endif = -.if exists(${DESTDIR}/usr/lib/libkrb.a) && defined(MAKE_EBONES) +.if exists(${DESTDIR}/usr/lib/libkrb.a) && defined(MAKE_KERBEROS4) .PATH: ${.CURDIR}/../../usr.bin/login SRCS+=3D klogin.c LDADD+=3D -lkrb -ldes Index: secure/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/secure/Makefile,v retrieving revision 1.7 diff -u -d -r1.7 Makefile --- Makefile 1996/05/04 08:33:51 1.7 +++ Makefile 1997/10/03 06:39:31 @@ -12,9 +12,9 @@ ${MAKE} ${MFLAGS} obj; \ ${MAKE} ${MFLAGS} depend all install = -CODAD=3D ${MAKE} ${MFLAGS} MAKE_EBONES=3Dyes cleandir; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=3Dyes obj; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=3Dyes depend all distribute +CODAD=3D ${MAKE} ${MFLAGS} cleandir; \ + ${MAKE} ${MFLAGS} obj; \ + ${MAKE} ${MFLAGS} depend all distribute = # These are the programs which depend on secure libs sprog: Index: share/mk/bsd.dep.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/share/mk/bsd.dep.mk,v retrieving revision 1.14 diff -u -d -r1.14 bsd.dep.mk --- bsd.dep.mk 1997/08/26 16:54:33 1.14 +++ bsd.dep.mk 1997/10/02 21:55:44 @@ -33,8 +33,8 @@ = # some of the rules involve .h sources, so remove them from mkdep line .if !target(depend) -depend: beforedepend ${DEPENDFILE} afterdepend _SUBDIR .if defined(SRCS) +depend: beforedepend ${DEPENDFILE} afterdepend _SUBDIR = # .if defined ${SRCS:M*.[sS]} does not work __depend_s=3D ${SRCS:M*.[sS]} @@ -60,11 +60,15 @@ cd ${.CURDIR}; ${MAKE} _EXTRADEPEND .endif = +.ORDER: ${DEPENDFILE} afterdepend .else -${DEPENDFILE}: _SUBDIR +depend: beforedepend afterdepend _SUBDIR .endif .if !target(beforedepend) beforedepend: +.else +.ORDER: beforedepend ${DEPENDFILE} +.ORDER: beforedepend afterdepend .endif .if !target(afterdepend) afterdepend: Index: sys/i386/boot/netboot/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/sys/i386/boot/netboot/Makefile,v retrieving revision 1.12 diff -u -d -r1.12 Makefile --- Makefile 1997/05/15 19:04:33 1.12 +++ Makefile 1997/10/02 22:07:39 @@ -72,16 +72,18 @@ ${.OBJDIR}/makerom ${.TARGET} = nb8390.com: makerom start2.ro ${SRCS:N*.h:R:S/$/.o/g} ns8390.o - ${LD} ${LDFLAGS} -o netboot.com ${OBJS} ns8390.o - strip netboot.com - size netboot.com - dd ibs=3D32 skip=3D1 if=3Dnetboot.com of=3D${.TARGET} + ${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} ns8390.o + strip ${.TARGET}.tmp + size ${.TARGET}.tmp + dd ibs=3D32 skip=3D1 if=3D${.TARGET}.tmp of=3D${.TARGET} + rm -f ${.TARGET}.tmp = nb3c509.com: start2.o ${SRCS:N*.h:R:S/$/.o/g} 3c509.o - ${LD} ${LDFLAGS} -o netboot.com ${OBJS} 3c509.o - strip netboot.com - size netboot.com - dd ibs=3D32 skip=3D1 if=3Dnetboot.com of=3D${.TARGET} + ${LD} ${LDFLAGS} -o ${.TARGET}.tmp ${OBJS} 3c509.o + strip ${.TARGET}.tmp + size ${.TARGET}.tmp + dd ibs=3D32 skip=3D1 if=3D${.TARGET}.tmp of=3D${.TARGET} + rm -f ${.TARGET}.tmp = = .include <bsd.prog.mk> Index: usr.bin/ftp/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.bin/ftp/Makefile,v retrieving revision 1.6 diff -u -d -r1.6 Makefile --- Makefile 1997/06/25 08:56:33 1.6 +++ Makefile 1997/07/31 06:58:20 @@ -5,6 +5,7 @@ PROG=3D ftp SRCS=3D cmds.c cmdtab.c complete.c domacro.c fetch.c ftp.c main.c ruserp= ass.c \ util.c +CFLAGS+=3D-I${.CURDIR}/../../contrib-crypto/telnet = LDADD+=3D -ledit -ltermcap DPADD+=3D ${LIBEDIT} ${LIBTERMCAP} Index: usr.bin/lex/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.bin/lex/Makefile,v retrieving revision 1.10 diff -u -d -r1.10 Makefile --- Makefile 1997/02/22 19:55:34 1.10 +++ Makefile 1997/10/02 22:01:17 @@ -15,6 +15,7 @@ LINKS+=3D ${BINDIR}/lex ${BINDIR}/flex++ = SRCS=3D scan.c ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.c \ + parse.h \ skel.c sym.c tblcmp.c yylex.c LFLAGS+=3D -is CFLAGS+=3D -I. -I${.CURDIR} @@ -34,6 +35,7 @@ ${.CURDIR}/FlexLexer.h ${DESTDIR}/usr/include/g++ = = +.ORDER: parse.c parse.h parse.c parse.h: parse.y $(YACC) -d $(.CURDIR)/parse.y mv -f y.tab.c parse.c @@ -46,7 +48,6 @@ cp -f ${.CURDIR}/initscan.c scan.c ; \ } = -beforedepend: parse.h scan.o: parse.h = test: check Index: usr.sbin/amd/fsinfo/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.sbin/amd/fsinfo/Makefile,v retrieving revision 1.5 diff -u -d -r1.5 Makefile --- Makefile 1997/02/22 16:03:14 1.5 +++ Makefile 1997/10/02 22:01:17 @@ -3,7 +3,7 @@ = PROG=3D fsinfo MAN8=3D fsinfo.8 -SRCS=3D fsinfo.c fsi_gram.c fsi_lex.c \ +SRCS=3D fsinfo.c fsi_gram.c fsi_gram.h fsi_lex.c \ fsi_util.c fsi_analyze.c fsi_dict.c \ wr_atab.c wr_bparam.c wr_dumpset.c \ wr_exportfs.c wr_fstab.c @@ -16,6 +16,7 @@ CFLAGS+=3D-DOS_HDR=3D\"os-bsd44.h\" = fsi_lex.o fsinfo.o: fsi_gram.h +.ORDER: fsi_gram.c fsi_gram.h fsi_gram.c fsi_gram.h: ../fsinfo/fsi_gram.y @echo "# expect 2 shift/reduce conflicts" ${YACC} -d ${.CURDIR}/fsi_gram.y Index: usr.sbin/sendmail/src/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.sbin/sendmail/src/Makefile,v retrieving revision 1.13 diff -u -d -r1.13 Makefile --- Makefile 1997/09/28 09:31:43 1.13 +++ Makefile 1997/09/28 12:42:09 @@ -22,8 +22,8 @@ NIS=3D -DNIS = # If you want tcp wrapper support, uncomment the following two lines -#TCPWRAPPERSBASEDIR=3D /usr/local -#TCPWRAPPERS=3D -DTCPWRAPPERS -I${TCPWRAPPERSBASEDIR}/include +TCPWRAPPERSBASEDIR=3D /usr/local +TCPWRAPPERS=3D -DTCPWRAPPERS -I${TCPWRAPPERSBASEDIR}/include = CFLAGS+=3D-I${.CURDIR} ${DBMDEF} ${NIS} ${TCPWRAPPERS} #-DNETISO = Index: usr.sbin/vipw/pw_util.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/usr.sbin/vipw/pw_util.c,v retrieving revision 1.7 diff -u -d -r1.7 pw_util.c --- pw_util.c 1997/09/29 13:13:51 1.7 +++ pw_util.c 1997/10/02 06:32:47 @@ -32,7 +32,7 @@ */ = #ifndef lint -static char sccsid[] =3D "@(#)pw_util.c 8.3 (Berkeley) 4/2/94"; +static const char sccsid[] =3D "@(#)pw_util.c 8.3 (Berkeley) 4/2/94"; #endif /* not lint */ = /* @@ -126,7 +126,7 @@ int fd; char *p; = - if (p =3D strrchr(path, '/')) + if ((p =3D strrchr(path, '/'))) ++p; else p =3D path; @@ -172,7 +172,7 @@ = if (!(editor =3D getenv("EDITOR"))) editor =3D _PATH_VI; - if (p =3D strrchr(editor, '/')) + if ((p =3D strrchr(editor, '/'))) ++p; else p =3D editor; --==_Exmh_6587434810--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710040745.JAA28726>