]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
build: compile_et rules for parallel make
authorMichael Meffie <mmeffie@sinenomine.net>
Tue, 10 Sep 2013 02:25:50 +0000 (22:25 -0400)
committerDerrick Brashear <shadow@your-file-system.com>
Mon, 30 Sep 2013 13:31:02 +0000 (06:31 -0700)
Change all makefile rules which run compile_et in order support parallel
make.  The compile_et generates two outputs, so special care must be
taken in rules which run compile_et.

All the rules for compile_et have been changed to the form:

    foo.c foo.h: foo.et
        compile_et foo.et -h foo
    foo.h: foo.c

The above rules are equivalent to:

    foo.c: foo.et
        compile_et foo.et -h foo

    foo.h: foo.et foo.c
        compile_et foo.et -h foo

therefore a parallel make will serialize the builds of foo.c and foo.h,
and should detect that the second is no longer needed once the first is
over.  This form works since foo.et is not a phony target, and does not
depend on a phony target.

Previously, the rules for compile_et were of the one of the two forms:

    a)  foo.c foo.h: foo.et
            compile_et foo.et -h foo

or

    b)  foo.h: foo.c
        foo.c: foo.et
            compile_et foo.et -h foo

Form a) is problematic for parallel makes, since it is equivalent to:

        foo.c:
            compile_et foo.et -h foo
        foo.h:
            compile_et foo.et -h foo

In a parallel make, compile_et will be run concurrently, clobbering
each other's output files.

Form b) is better, but is problematic when foo.h is removed, since foo.h
will not be updated.

Thanks to Russ Allbery for pointing out the automake documentation which
describes issues with commands that produce multiple outputs, and
portable solutions.

http://www.gnu.org/software/automake/manual/automake.html#Multiple-Outputs

Change-Id: I14c056606084f80270e05592d3d09a600f804e24
Reviewed-on: http://gerrit.openafs.org/10237
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
20 files changed:
src/afs/Makefile.in
src/auth/Makefile.in
src/bozo/Makefile.in
src/bubasics/Makefile.in
src/bucoord/Makefile.in
src/budb/Makefile.in
src/cmd/Makefile.in
src/kauth/Makefile.in
src/libadmin/adminutil/Makefile.in
src/ptserver/Makefile.in
src/rxkad/Makefile.in
src/rxkad/test/Makefile.in
src/tbudb/Makefile.in
src/tools/dumpscan/Makefile.in
src/tptserver/Makefile.in
src/tvlserver/Makefile.in
src/tvolser/Makefile.in
src/ubik/Makefile.in
src/vlserver/Makefile.in
src/volser/Makefile.in

index 7dbb9f4f2ae9051a029b22b987a131a8fe29aed5..c407c0149187d9843920dfdb7963cba75b48ea5a 100644 (file)
@@ -16,12 +16,14 @@ all: depinstall
 
 generated: afs_trace.h afs_trace.msf unified_afs.c unified_afs.h
 
-afs_trace.h afs_trace.msf: afs_trace.et
+afs_trace.msf afs_trace.h: afs_trace.et
        ${COMPILE_ET} -v 2 -p ${srcdir} afs_trace.et
+afs_trace.h: afs_trace.msf
 
 unified_afs.c unified_afs.h: unified_afs.et
        $(RM) -f unified_afs.c unified_afs.h
        ${COMPILE_ET} -p ${srcdir} unified_afs -h unified_afs
+unified_afs.h: unified_afs.c
 
 afszcm.cat: afs_trace.msf
        -$(RM) -f afszcm.cat
index 2a2c4008d9eb148da9c09423c645c1487bdfc8db..2a6971390526281450a0c9a2d95404bd19ddc951 100644 (file)
@@ -113,10 +113,12 @@ setkey: setkey.o ${LIBS}
 acfg_errors.c cellconfig.h: acfg_errors.et cellconfig.p.h
        $(RM) -f cellconfig.h acfg_errors.c
        ${COMPILE_ET} -p ${srcdir} acfg_errors -h cellconfig
+cellconfig.h: acfg_errors.c
 
 ktc_errors.c auth.h: ktc_errors.et auth.p.h
        $(RM) -f auth.h ktc_errors.c
        ${COMPILE_ET} -p ${srcdir} ktc_errors -h auth
+auth.h: ktc_errors.c
 
 Ktoken.xdr.c: token.xg
        $(RXGEN) -A -x -k -c -o $@ $(srcdir)/token.xg
index b565d1707a3ea749aacbd90b6a2fc865363ea341..8ce9cc11cfa0e896af8208c7846585e05c21a7de 100644 (file)
@@ -81,11 +81,10 @@ bosint.cs.c: bosint.h
 bosint.ss.c: bosint.h
 bosint.xdr.c: bosint.h
 
-bnode.h: boserr.c
-
-boserr.c: bnode.p.h boserr.et
+boserr.c bnode.h: bnode.p.h boserr.et
        $(RM) -f boserr.c bnode.h
        ${COMPILE_ET} -p ${srcdir} boserr -h bnode
+bnode.h: boserr.c
 
 bosserver.o: bosserver.c ${INCLS} AFS_component_version_number.o
 
index f0fb0187cceeed501aae0269403beb6acecfbf07..eff5efd052da346d7255755b58e79f9ebf4b833c 100644 (file)
@@ -80,23 +80,20 @@ bumon.xdr.c: bumon.h
 bumon.ss.c: bumon.h
 bumon.cs.c: bumon.h
 
-butm.h: butm_errs.c
-
-butm_errs.c: butm_errs.et butm.p.h
+butm_errs.c butm.h: butm_errs.et butm.p.h
        $(RM) -f butm.h butm_errs.c
        ${COMPILE_ET} -p ${srcdir} butm_errs -h butm
+butm.h: butm_errs.c
 
-tcdata.h: butc_errs.c
-
-butc_errs.c: butc_errs.et tcdata.p.h butm.h
+butc_errs.c tcdata.h: butc_errs.et tcdata.p.h butm.h
        $(RM) -f tcdata.h butc_errs.c
        ${COMPILE_ET} -p ${srcdir} butc_errs -h tcdata
+tcdata.h: butc_errs.c
 
-butx.h: butx_errs.c
-
-butx_errs.c: butx_errs.et
+butx_errs.c butx.h: butx_errs.et
        $(RM) -f butx.h butx_errs.c
        ${COMPILE_ET} -p ${srcdir} butx_errs -h butx
+butx.h: butx_errs.c
 
 #
 # Installation targets
index f70369e0c7503a7c614f673c15fb9cfdb8b8a608..b9748d0b71982b77dc0c9330b06e73ec59ecb1c8 100644 (file)
@@ -70,11 +70,10 @@ $(BACKOBJS): bc.h ${TOP_INCDIR}/afs/butc.h
 backup:  $(BACKOBJS) ${LIBS}
        $(AFS_LDRULE) $(BACKOBJS) ${LIBS} $(LIB_roken) ${XLIBS}
 
-bc.h: bucoord_errs.c
-
-bucoord_errs.c:        bucoord_errs.et bc.p.h
+bucoord_errs.c bc.h: bucoord_errs.et bc.p.h
        $(RM) -f bc.h bucoord_errs.c
        ${COMPILE_ET} -p ${srcdir} bucoord_errs -h bc
+bc.h: bucoord_errs.c
 
 #
 # Errors
index 1d39793a6d16d76bc72ce0e927a1951c6337eb00..c6972b9afead8d679be33b23ef5feac7f0d5c109 100644 (file)
@@ -71,11 +71,10 @@ ${TOP_INCDIR}/afs/budb_client.h: budb_client.h
 ${TOP_INCDIR}/afs/budb_prototypes.h: budb_prototypes.h
        ${INSTALL_DATA} $? $@
 
-budb_errs.h: budb_errs.c
-
-budb_errs.c: budb_errs.et
+budb_errs.c bubd_errs.h: budb_errs.et
        $(RM) -f budb_errs.c
        ${COMPILE_ET} -p ${srcdir} budb_errs
+budb_errs.h: budb_errs.c
 
 database.o: database.c budb_errs.h globals.h ${INCLS}
 db_alloc.o: db_alloc.c budb_errs.h ${INCLS}
index 452aca9922e6a90489e502df7c7107f289353b7f..a287a28b8cb9081b3eafaddc1597d1604cb1b79a 100644 (file)
@@ -35,11 +35,11 @@ ${TOP_LIBDIR}/libcmd64.a: libcmd64.a
 ${TOP_INCDIR}/afs/cmd.h: cmd.h
        ${INSTALL_DATA} $? $@
 
-cmd.h: cmd_errors.et cmd.p.h
+cmd_errors.c cmd.h: cmd_errors.et cmd.p.h
        $(RM) -f cmd.h cmd_errors.c
        ${COMPILE_ET} -p ${srcdir} cmd_errors -h cmd
+cmd.h: cmd_errors.c
 
-cmd_errors.c: cmd.h 
 cmd.lo: cmd.h
 
 config_file.lo: $(TOP_SRCDIR)/external/heimdal/krb5/config_file.c krb5_locl.h
index 572b6208e43ec35acd21609d52332aab1241a39c..032cee1b3cb1abafc37ad0b3caa622afa87376c8 100644 (file)
@@ -124,11 +124,10 @@ kadatabase.o: kadatabase.c ${INCLS}
 
 kaprocs.o: kaprocs.c ${INCLS} kaport.h
 
-kautils.h: kaerrors.c
-
-kaerrors.c: kaerrors.et kautils.p.h
+kaerrors.c kautils.h: kaerrors.et kautils.p.h
        $(RM) -f kautils.h kaerrors.c
        ${COMPILE_ET} -p ${srcdir} kaerrors -h kautils
+kautils.h: kaerrors.c
 
 kauth.xdr.lo: kauth.xdr.c kauth.h
 
index 15dc10ce296d6c413ccfe661f497cab53597c9af..7053e825757f6463b50877c9bf18e5920f37a310 100644 (file)
@@ -28,76 +28,75 @@ ${TOP_LIBDIR}/libafsadminutil.a: libafsadminutil.a
 ${TOP_INCDIR}/afs/afs_utilAdmin.h: afs_utilAdmin.h
        ${INSTALL_DATA} $? $@
 
-afs_AdminBosErrors.h: afs_AdminBosErrors.c
-afs_AdminBosErrors.c: afs_AdminBosErrors.et
+afs_AdminBosErrors.c afs_AdminBosErrors.h: afs_AdminBosErrors.et
        ${INSTALL_DATA} ${srcdir}/afs_AdminErrors.h ${TOP_INCDIR}/afs
        $(RM) -f afs_AdminBosErrors.c afs_AdminBosErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminBosErrors.et -h afs_AdminBosErrors
+afs_AdminBosErrors.h: afs_AdminBosErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminBosErrors.h: afs_AdminBosErrors.h
        cp afs_AdminBosErrors.h ${TOP_INCDIR}/afs/afs_AdminBosErrors.h
 
-afs_AdminCfgErrors.h: afs_AdminCfgErrors.c
-afs_AdminCfgErrors.c: afs_AdminCfgErrors.et
+afs_AdminCfgErrors.c afs_AdminCfgErrors.h: afs_AdminCfgErrors.et
        $(RM) -f ${srcdir}/afs_AdminCfgErrors.c afs_AdminCfgErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminCfgErrors.et -h afs_AdminCfgErrors
+afs_AdminCfgErrors.h: afs_AdminCfgErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminCfgErrors.h: afs_AdminCfgErrors.h
        cp afs_AdminCfgErrors.h ${TOP_INCDIR}/afs/afs_AdminCfgErrors.h
 
-afs_AdminClientErrors.h: afs_AdminClientErrors.c
-afs_AdminClientErrors.c: afs_AdminClientErrors.et
+afs_AdminClientErrors.c afs_AdminClientErrors.h: afs_AdminClientErrors.et
        $(RM) -f ${srcdir}/afs_AdminClientErrors.c afs_AdminClientErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminClientErrors.et -h afs_AdminClientErrors
+afs_AdminClientErrors.h: afs_AdminClientErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminClientErrors.h: afs_AdminClientErrors.h
        cp afs_AdminClientErrors.h ${TOP_INCDIR}/afs/afs_AdminClientErrors.h
 
-afs_AdminMiscErrors.h: afs_AdminMiscErrors.c
-afs_AdminMiscErrors.c: afs_AdminMiscErrors.et
+afs_AdminMiscErrors.c afs_AdminMiscErrors.h: afs_AdminMiscErrors.et
        $(RM) -f ${srcdir}/afs_AdminMiscErrors.c afs_AdminMiscErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminMiscErrors.et -h afs_AdminMiscErrors
+afs_AdminMiscErrors.h: afs_AdminMiscErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminMiscErrors.h: afs_AdminMiscErrors.h
        cp afs_AdminMiscErrors.h ${TOP_INCDIR}/afs/afs_AdminMiscErrors.h
 
-afs_AdminCommonErrors.h: afs_AdminCommonErrors.c
-afs_AdminCommonErrors.c: afs_AdminCommonErrors.et
+afs_AdminCommonErrors.c afs_AdminCommonErrors.h: afs_AdminCommonErrors.et
        $(RM) -f ${srcdir}/afs_AdminCommonErrors.c afs_AdminCommonErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminCommonErrors.et -h afs_AdminCommonErrors
+afs_AdminCommonErrors.h: afs_AdminCommonErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminCommonErrors.h: afs_AdminCommonErrors.h
        cp afs_AdminCommonErrors.h ${TOP_INCDIR}/afs/afs_AdminCommonErrors.h
 
-afs_AdminKasErrors.h: afs_AdminKasErrors.c
-afs_AdminKasErrors.c: afs_AdminKasErrors.et
+afs_AdminKasErrors.c afs_AdminKasErrors.h: afs_AdminKasErrors.et
        $(RM) -f ${srcdir}/afs_AdminKasErrors.c afs_AdminKasErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminKasErrors.et -h afs_AdminKasErrors
+afs_AdminKasErrors.h: afs_AdminKasErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminKasErrors.h: afs_AdminKasErrors.h
        cp afs_AdminKasErrors.h ${TOP_INCDIR}/afs/afs_AdminKasErrors.h
 
-afs_AdminPtsErrors.h: afs_AdminPtsErrors.c
-afs_AdminPtsErrors.c: afs_AdminPtsErrors.et
+afs_AdminPtsErrors.c afs_AdminPtsErrors.h: afs_AdminPtsErrors.et
        $(RM) -f ${srcdir}/afs_AdminPtsErrors.c afs_AdminPtsErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminPtsErrors.et -h afs_AdminPtsErrors
+afs_AdminPtsErrors.h: afs_AdminPtsErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminPtsErrors.h: afs_AdminPtsErrors.h
        cp afs_AdminPtsErrors.h ${TOP_INCDIR}/afs/afs_AdminPtsErrors.h
 
-afs_AdminUtilErrors.h: afs_AdminUtilErrors.c
-afs_AdminUtilErrors.c: afs_AdminUtilErrors.et
+afs_AdminUtilErrors.c afs_AdminUtilErrors.h: afs_AdminUtilErrors.et
        $(RM) -f ${srcdir}/afs_AdminUtilErrors.c afs_AdminUtilErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminUtilErrors.et -h afs_AdminUtilErrors
+afs_AdminUtilErrors.h: afs_AdminUtilErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminUtilErrors.h: afs_AdminUtilErrors.h
        cp afs_AdminUtilErrors.h ${TOP_INCDIR}/afs/afs_AdminUtilErrors.h
 
-afs_AdminVosErrors.c: afs_AdminVosErrors.et
+afs_AdminVosErrors.c afs_AdminVosErrors.h: afs_AdminVosErrors.et
        $(RM) -f ${srcdir}/afs_AdminVosErrors.c afs_AdminVosErrors.h
        ${COMPILE_ET} -p ${srcdir} afs_AdminVosErrors.et -h afs_AdminVosErrors
-
-afs_AdminVosErrors.h:  afs_AdminVosErrors.c
+afs_AdminVosErrors.h: afs_AdminVosErrors.c
 
 ${TOP_INCDIR}/afs/afs_AdminVosErrors.h: afs_AdminVosErrors.h
        cp afs_AdminVosErrors.h ${TOP_INCDIR}/afs/afs_AdminVosErrors.h
index dee45137d80a9f696112fe6e1ca5341bee5ce1d7..135fa3f0b7cd47603e8052fbdad05ec7f3b699c2 100644 (file)
@@ -160,9 +160,10 @@ ptclient: ptclient.o libprot.a $(LIBS)
 
 ptclient.o: ptclient.c ${INCLS} AFS_component_version_number.c
 
-pterror.h pterror.c: pterror.et
+pterror.c pterror.h: pterror.et
        $(RM) -f pterror.h pterror.c
        ${COMPILE_ET} -p ${srcdir} pterror
+pterror.h: pterror.c
 
 display.lo: $(INCLS)
 ptuser.lo: $(LINCLS)
index 4300d6a1b4cc284cde84d2e9962373e65e7131e6..d768a80219835a8712dea43b1df580c6383d02c6 100644 (file)
@@ -93,11 +93,10 @@ rxkad_errs.lo: rxkad_errs.c
 ticket.lo: ticket.c lifetimes.h ${INCLS}
 ticket5.lo: ticket5.c v5gen.c v5der.c v5gen-rewrite.h ${INCLS}
 
-rxkad.h: rxkad_errs.c
-
-rxkad_errs.c: rxkad_errs.et rxkad.p.h
+rxkad_errs.c rxkad.h: rxkad_errs.et rxkad.p.h
        $(RM) -f rxkad.h rxkad_errs.c
        ${COMPILE_ET} -p ${srcdir} rxkad_errs -h rxkad
+rxkad.h: rxkad_errs.c
 
 tcrypt.o: tcrypt.c AFS_component_version_number.o
 
index 1acfe0ecae1f3b7a95cfa7c01f377d1981c9bb41..6248c4c300283dc162241aaa81281a66b0408aa9 100644 (file)
@@ -71,7 +71,9 @@ th_stress_errs.o: stress_errs.c
        ${THRULE} -c $(srcdir)/stress_errs.c -o th_stress_errs.o
 
 stress_errs.c stress_errs.h: stress_errs.et
-       $(RM) -f stress_errs.h stress_errs.c; ${COMPILE_ET} -p ${srcdir} stress_errs -h stress_errs
+       $(RM) -f stress_errs.h stress_errs.c
+       ${COMPILE_ET} -p ${srcdir} stress_errs -h stress_errs
+stress_errs.h: stress_errs.c
 
 stress.o: ${HEADERS}
 stress_c.o: ${HEADERS}
index 34751f8f029477df976b88af5daaf134db1d7a8c..32b456cff81e800405191cfb42057ce8078a0a64 100644 (file)
@@ -48,11 +48,10 @@ SERVER_OBJS = ${COMMON_OBJS} budb.ss.o budb.xdr.o dbs_dump.o db_lock.o db_text.o
 
 all: ${TOP_LIBDIR}/libbudb.a ${TOP_INCDIR}/afs/budb.h ${TOP_INCDIR}/afs/budb_errs.h ${TOP_INCDIR}/afs/budb_client.h budb_server ${INCLS}
 
-budb_errs.h: budb_errs.c
-
-budb_errs.c: ${BUDB}/budb_errs.et
-       $(RM) -f budb_errs.c
+budb_errs.c budb_errs.h: ${BUDB}/budb_errs.et
+       $(RM) -f budb_errs.c budb_errs.h
        ${COMPILE_ET} -p ${BUDB} budb_errs
+budb_errs.h: budb_errs.c
 
 #
 # Build targets
index 13c152aff0119ea5e94fff456f7f05e0a7238e5f..a829c6523098949abba9140decc0d5f694ea23a0 100644 (file)
@@ -72,10 +72,14 @@ libdumpscan.a: $(OBJS_libdumpscan.a)
        $(RANLIB) libdumpscan.a
 
 xf_errs.c xf_errs.h: ${srcdir}/xf_errs.et
+       $(RM) -f xf_errs.c xf_errs.h
        $(COMPILE_ET) ${srcdir}/xf_errs.et
+xf_errs.h: xf_errs.c
 
 dumpscan_errs.c dumpscan_errs.h: ${srcdir}/dumpscan_errs.et
+       $(RM) -f dumpscan_errs.c dumpscan_errs.h
        $(COMPILE_ET) ${srcdir}/dumpscan_errs.et
+dumpscan_errs.h: dumpscan_errs.c
 
 util.o xfiles.o xf_files.o: xf_errs.h
 backuphdr.o directory.o parsedump.o parsetag.o: dumpscan_errs.h
index 5a217c602e2a7a226bf577b88c93c15d11ccba06..fcf411882e5dfb0f779b49cb44778f08b1e7a298 100644 (file)
@@ -146,10 +146,10 @@ pt_util.o: ${PTSERVER}/pt_util.c
 ptubik.o: ${PTSERVER}/ptubik.c ${INCLS}
        $(AFS_CCRULE) $(PTSERVER)/ptubik.c
 
-pterror.h: pterror.c
-pterror.c: ${PTSERVER}/pterror.et
+pterror.c pterror.h: ${PTSERVER}/pterror.et
        $(RM) -f pterror.h pterror.c
        ${COMPILE_ET} -p ${PTSERVER} pterror
+pterror.h: pterror.c
 
 prerror.h: pterror.h
        ${INSTALL} $? $@
index 5b81f5a3928fb0bf4e1a3856fa18cd7d7e9e7c86..947c8cfe9812fd33664c702e90aa85cc65933014 100644 (file)
@@ -112,8 +112,10 @@ vlclient.o: ${VLSERVER}/vlclient.c
 
 vl_errors.o: vl_errors.c
 
-vlserver.h vl_errors.c: ${VLSERVER}/vl_errors.et ${VLSERVER}/vlserver.p.h
-       $(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${VLSERVER} vl_errors -h vlserver
+vl_errors.c vlserver.h: ${VLSERVER}/vl_errors.et ${VLSERVER}/vlserver.p.h
+       $(RM) -f vlserver.h vl_errors.c
+       ${COMPILE_ET} -p ${VLSERVER} vl_errors -h vlserver
+vlserver.h: vl_errors.c
 
 system: install
 
index 77c1800ee93a8dcd5abcaaf77f64a47d10d145c7..14725c5a26f61a9e63f49968ad0e707a032ec427 100644 (file)
@@ -89,8 +89,10 @@ volint.xdr.o: ../volser/volint.xdr.c
 lockprocs.o: ${VOLSER}/lockprocs.c
        $(AFS_CCRULE) -I../volser $(VOLSER)/lockprocs.c
 
-vlserver.h vl_errors.c: ${VLSERVER}/vl_errors.et ${VLSERVER}/vlserver.p.h
-       $(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${VLSERVER} vl_errors -h vlserver
+vl_errors.c vlserver.h: ${VLSERVER}/vl_errors.et ${VLSERVER}/vlserver.p.h
+       $(RM) -f vlserver.h vl_errors.c
+       ${COMPILE_ET} -p ${VLSERVER} vl_errors -h vlserver
+vlserver.h: vl_errors.c
 
 vldbint.cs.o: ../vlserver/vldbint.cs.c
        $(AFS_CCRULE) -I$(VLSERVER) ../vlserver/vldbint.cs.c
index f52ebeb8d217d692942a5fa65f73d5982ad9235d..e9cd30c2ed922cc534ebf68ec2371f4b4ea2a1a5 100644 (file)
@@ -119,11 +119,10 @@ utst_client.o: utst_client.c ${INCLS} utst_int.h AFS_component_version_number.c
 udebug.o: udebug.c ${INCLS} AFS_component_version_number.c
 uerrors.o: uerrors.c
 
-ubik.h: uerrors.c
-
-uerrors.c: uerrors.et ubik.p.h
+uerrors.c ubik.h: uerrors.et ubik.p.h
        $(RM) -f ubik.h uerrors.c
        ${COMPILE_ET} -p ${srcdir} uerrors -h ubik
+ubik.h: uerrors.c
 
 libubik.a: ${LT_objs}
        $(LT_LDLIB_lwp) $(LT_objs)
index 13957e460b59b58526707bfd44db010c30f2d1b3..a2df96ff045392992f93d5b7c4dadacca821d82a 100644 (file)
@@ -143,8 +143,11 @@ vlclient: vlclient.o libvldb.a $(LIBS)
 vlclient.o: vlclient.c ${INCLS} AFS_component_version_number.o
 
 vl_errors.o: vl_errors.c
-vlserver.h vl_errors.c: vl_errors.et vlserver.p.h
-       $(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${srcdir} vl_errors -h vlserver
+
+vl_errors.c vlserver.h : vl_errors.et vlserver.p.h
+       $(RM) -f vlserver.h vl_errors.c
+       ${COMPILE_ET} -p ${srcdir} vl_errors -h vlserver
+vlserver.h: vl_errors.c
 
 vlserver.o: vlserver.c
 
index 40669596574bddc79d82f0298174fc3632b1cd52..335c8bee0cde3cab145b809962e89c9d2e7da6fd 100644 (file)
@@ -124,11 +124,10 @@ liboafs_volser.la: liboafs_volser.la.sym $(LT_objs) $(LT_deps)
 libauthent_volser.la: $(LT_objs)
        $(LT_LDLIB_pic) $(LT_objs)
 
-volser.h: volerr.c
-
-volerr.c: volerr.et volser.p.h
+volerr.c volser.h: volerr.et volser.p.h
        $(RM) -f volser.h volerr.c
        ${COMPILE_ET} -p ${srcdir} volerr -h volser
+volser.h: volerr.c
 
 volint.cs.c: volint.xg
        ${RXGEN} -A -x -C -o $@ ${srcdir}/volint.xg