system makefile bug

utzoo!decvax!ittvax!swatt utzoo!decvax!ittvax!swatt
Thu Dec 3 20:29:04 AEST 1981


Tue Dec  1 19:54:46 EST 1981 (swatt, shp, etk)
[ ]	In the generic makefile for 4.1bsd (/sys/conf/makefile),
	the compilation of "param.c" does not include the flag
	-DKERNEL. It therefore tries to include files from
	/usr/include, which won't work without /usr mounted.  Once the
	KERNEL symbol is defined however, the file "../h/user.h"
	attempts to include "assym.s", which fails because include
	files names are prefixed with the directory location of the
	parent (I never knew this; is this new?).  Thus the "-I."
	argument everywhere; but it is missing for "param.o".
	
	Since the way param.o has been built is without including
	assym.s, perhaps this inclusion is unnecessary?

	Fix is:
	---------------------------------------------------------------
	cp makefile /tmp/upd.$$.tmp ; chmod +w /tmp/upd.$$.tmp
	ed - /tmp/upd.$$.tmp <<\!xxFUNNYxx
	122c
		${CC} -I. -c ${CFLAGS} ${PARAM} param.c
	.
	2c
	# Makefile for Berkeley Virtual Vax/Unix, December 1981
	.
	w
	q
	!xxFUNNYxx
	diff OLD/makefile.1 /tmp/upd.$$.tmp >/tmp/upd.$$.dif
	if cmp - /tmp/upd.$$.dif <<\!xxFUNNYxx
	2c2
	< # Makefile for Berkeley Virtual Vax/Unix, February 1981
	---
	> # Makefile for Berkeley Virtual Vax/Unix, December 1981
	122c122
	< 	${CC} -c -O ${IDENT} ${PARAM} param.c
	---
	> 	${CC} -I. -c ${CFLAGS} ${PARAM} param.c
	!xxFUNNYxx
	then
		: 'compare equal, ok'
		rm -f makefile
		cp /tmp/upd.$$.tmp makefile ; chmod a-w makefile
	else
		echo "Old source file not same version;" \
			"use diff listings by hand"
	fi
	rm -f /tmp/upd.$$.tmp /tmp/upd.$$.dif
	---------------------------------------------------------------
	../h/user.h:
		/*	user.h	4.8	81/04/28	*/


		- Alan S. Watt (decvax!ittvax!swatt)



More information about the Comp.bugs.4bsd.ucb-fixes mailing list