Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jun 1997 10:49:36 +0200 (MEST)
From:      arnej@mail.math.ntnu.no
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   bin/3957: Makefile dependency error in amd
Message-ID:  <199706260849.KAA00720@frida.math.ntnu.no>
Resent-Message-ID: <199706260850.BAA11970@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         3957
>Category:       bin
>Synopsis:       Makefile dependency error in amd
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 26 01:50:01 PDT 1997
>Last-Modified:
>Originator:     Arne Henrik Juul
>Organization:
Norwegian University of Technology and Science
>Release:        FreeBSD 2.2-STABLE i386
>Environment:

	I'm cvsup'ing and checking out RELENG_2_2.
	It looks like this applies to -current as well.

>Description:
	When making amd for the first time nfs_prot.h isn't built
	resulting in this error message:
===> amq
cc -O -I/usr/obj/usr/src/usr.sbin/amd/amq -I/usr/src/usr.sbin/amd/amq/../include -I/usr/src/usr.sbin/amd/amq/../rpcx -I/usr/src/usr.sbin/amd/amq/../config -DARCH_REP=\"i386\" -DOS_REP=\"bsd44\" -DOS_HDR=\"os-bsd44.h\"   -c /usr/src/usr.sbin/amd/amq/amq.c
In file included from /usr/src/usr.sbin/amd/amq/amq.c:61:
/usr/src/usr.sbin/amd/amq/../include/am.h:52: nfs_prot.h: No such file or directory
	Doing make -k a couple of times doesn't help, but doing a
	"make depend" will create the missing file:
===> amq
rpcgen -h /usr/include/rpcsvc/nfs_prot.x -o nfs_prot.h
rm -f .depend
mkdep -f .depend -a  -I/usr/obj/usr/src/usr.sbin/amd/amq -I/usr/src/usr.sbin/amd/amq/../include -I/usr/src/usr.sbin/amd/amq/../rpcx -I/usr/src/usr.sbin/amd/amq/../config -DARCH_REP=\"i386\" -DOS_REP=\"bsd44\" -DOS_HDR=\"os-bsd44.h\"  /usr/src/usr.sbin/amd/amq/amq.c /usr/src/usr.sbin/amd/amq/../rpcx/amq_clnt.c /usr/src/usr.sbin/amd/amq/../rpcx/amq_xdr.c /usr/src/usr.sbin/amd/amq/../amd/misc_rpc.c
	I believe this should be unneccessary.
	One possibility would be to use <rpcsvc/nfs_prot.h> instead
	of building a local version, but the Makefile has this line in it:
${OBJS} beforedepend: nfs_prot.h
	which looks like it should DTRT, but actually it doesn't because:
 Variable substitution occurs at two distinct times, depending on where
 the variable is being used.  Variables in dependency lines are expanded
 as the line is read.  Variables in shell commands are expanded when the
 shell command is executed. [From "man make"]

>How-To-Repeat:

	cd /usr/src/usr.sbin/amd
	make cleandir; make cleandir; make obj; make

>Fix:
	Move the dependency line in question to a point where
	the OBJS variable actually is set.  I found one more
	instance of this but in that case the line wasn't really
	needed anyway (a redundant null operation :-) so I made
	a patch to remove it.

Index: src/usr.sbin/amd/amd/Makefile
===================================================================
RCS file: /usr/cvs/src/usr.sbin/amd/amd/Makefile,v
retrieving revision 1.2.8.3
diff -u -r1.2.8.3 Makefile
--- Makefile	1997/05/23 07:47:01	1.2.8.3
+++ Makefile	1997/06/26 08:19:51
@@ -41,8 +41,6 @@
 mount_xdr.c: mount.h ${MOUNT_X}
 	${RPCCOM} -c -DWANT_NFS3 ${MOUNT_X} -o ${.TARGET}
 
-${OBJS} beforedepend: nfs_prot.h
-
 nfs_prot.h: ${NFS_PROT_X}
 	${RPCCOM} -h ${NFS_PROT_X} -o ${.TARGET}
 
@@ -55,3 +53,5 @@
 .include "Makefile.config"
 .include "../../Makefile.inc"
 .include <bsd.prog.mk>
+
+${OBJS} beforedepend: nfs_prot.h
Index: src/usr.sbin/amd/amq/Makefile
===================================================================
RCS file: /usr/cvs/src/usr.sbin/amd/amq/Makefile,v
retrieving revision 1.3.8.2
diff -u -r1.3.8.2 Makefile
--- Makefile	1997/05/23 07:47:07	1.3.8.2
+++ Makefile	1997/06/26 08:17:12
@@ -18,7 +18,7 @@
 nfs_prot.h: ${NFS_PROT_X}
 	${RPCCOM} -h ${NFS_PROT_X} -o ${.TARGET}
 
-${OBJS} beforedepend: nfs_prot.h
-
 .include "../../Makefile.inc"
 .include <bsd.prog.mk>
+
+${OBJS} beforedepend: nfs_prot.h
Index: src/usr.sbin/amd/mk-amd-map/Makefile
===================================================================
RCS file: /usr/cvs/src/usr.sbin/amd/mk-amd-map/Makefile,v
retrieving revision 1.2.8.2
diff -u -r1.2.8.2 Makefile
--- Makefile	1997/05/23 07:47:07	1.2.8.2
+++ Makefile	1997/06/26 08:20:13
@@ -14,7 +14,7 @@
 nfs_prot.h: ${NFS_PROT_X}
 	${RPCCOM} -h ${NFS_PROT_X} -o ${.TARGET}
 
-${OBJS} beforedepend: nfs_prot.h
-
 .include "../../Makefile.inc"
 .include <bsd.prog.mk>
+
+${OBJS} beforedepend: nfs_prot.h
Index: src/usr.bin/tip/libacu/Makefile
===================================================================
RCS file: /usr/cvs/src/usr.bin/tip/libacu/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile	1995/04/01 09:14:32	1.3
+++ Makefile	1997/06/26 08:29:32
@@ -4,8 +4,6 @@
 		multitech.c t3000.c tod.c unidialer.c v3451.c v831.c ventel.c
 NOPROFILE=	yes
 
-$(OBJS):	${.CURDIR}/../tip/tipconf.h
-
 install:
 	@echo -n
 
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706260849.KAA00720>