Subject: libkern/Makefile VPATH error (Opus 300) Index: lib/libkern/Makefile 2.11BSD Description: Use of the VPATH in the libkern Makefile causes the wrong objects to be included. Repeat-By: cd /usr/src/lib make NOTE that libkern.a is built last. At that time all of the .o files which make up libkern.a already exist in the directories which are part of the VPATH. Thus nothing gets assembled with "-DKERNEL" defined. Fix: Cut where indicated, saving to a file (/tmp/300). Then: patch -p0 < /tmp/300 ---------------------------cut here--------------------------- *** /usr/src/lib/libkern/Makefile.old Thu Jan 11 11:10:00 1996 --- /usr/src/lib/libkern/Makefile Sat Feb 3 20:32:04 1996 *************** *** 1,20 **** # ! # @(#)Makefile 1.0 (2.11BSD GTE) 1995/1/10 # # This is the Makefile for 'libkern.a'. These are the specially compiled # versions of libc.a routines which the kernel and network use. # ! # There are no source files in this directory. The VPATH capability is ! # used instead. libkern.a needs to be installed only once (usually when the # C library is installed) rather than compiling the sources each time # a kernel is compiled.. DEFS= -DKERNEL ! CFLAGS= -O ${DEFS} ! CPP= /lib/cpp -P ${DEFS} AS= /bin/as -u ! PREFIX= /usr/src/lib/libc ! VPATH= ${PREFIX}/pdp/crt:${PREFIX}/pdp/gen:${PREFIX}/pdp/net SRCS= bcmp.s bcopy.s bzero.s ffs.s htonl.s htons.s insque.s \ ldiv.s lmul.s lrem.s remque.s strlen.s udiv.s uldiv.s ulsh.s --- 1,20 ---- # ! # @(#)Makefile 1.1 (2.11BSD GTE) 1996/2/3 # # This is the Makefile for 'libkern.a'. These are the specially compiled # versions of libc.a routines which the kernel and network use. # ! # There are no source files in this directory. Links are made to the files. ! # ! # libkern.a needs to be installed only once (usually when the # C library is installed) rather than compiling the sources each time # a kernel is compiled.. DEFS= -DKERNEL ! CFLAGS= -O ${DEFS} -I../libc/pdp/gen ! CPP= /lib/cpp -P ${DEFS} -I../libc/pdp/gen AS= /bin/as -u ! PREFIX= /usr/src/lib/libc/pdp SRCS= bcmp.s bcopy.s bzero.s ffs.s htonl.s htons.s insque.s \ ldiv.s lmul.s lrem.s remque.s strlen.s udiv.s uldiv.s ulsh.s *************** *** 32,38 **** ld -X -r $*.o mv a.out $*.o ! all: libkern.a libkern.a: ${OBJS} rm -f libkern.a --- 32,38 ---- ld -X -r $*.o mv a.out $*.o ! all: FRC libkern.a libkern.a: ${OBJS} rm -f libkern.a *************** *** 39,45 **** ar rv libkern.a ${OBJS} clean: ! rm -f ${OBJS} libkern.a depend: ${SRCS} mkdep ${CFLAGS} ${SRCS} --- 39,45 ---- ar rv libkern.a ${OBJS} clean: ! rm -f ${OBJS} ${SRCS} libkern.a depend: ${SRCS} mkdep ${CFLAGS} ${SRCS} *************** *** 47,52 **** --- 47,70 ---- install: libkern.a install -o root -g bin -m 644 libkern.a ${DESTDIR}/usr/lib/libkern.a ranlib ${DESTDIR}/usr/lib/libkern.a + + FRC: + rm -f ${SRCS} + ln ${PREFIX}/gen/bcmp.s bcmp.s + ln ${PREFIX}/gen/bcopy.s bcopy.s + ln ${PREFIX}/gen/bzero.s bzero.s + ln ${PREFIX}/gen/ffs.s ffs.s + ln ${PREFIX}/gen/insque.s insque.s + ln ${PREFIX}/gen/remque.s remque.s + ln ${PREFIX}/gen/strlen.s strlen.s + ln ${PREFIX}/crt/ldiv.s ldiv.s + ln ${PREFIX}/crt/lmul.s lmul.s + ln ${PREFIX}/crt/lrem.s lrem.s + ln ${PREFIX}/crt/udiv.s udiv.s + ln ${PREFIX}/crt/uldiv.s uldiv.s + ln ${PREFIX}/crt/ulsh.s ulsh.s + ln ${PREFIX}/net/htonl.s htonl.s + ln ${PREFIX}/net/htons.s htons.s # DO NOT DELETE THIS LINE -- mkdep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. *** /VERSION.old Tue Jan 30 19:48:38 1996 --- /VERSION Sat Feb 3 20:41:25 1996 *************** *** 1,4 **** ! Current Patch Level: 299 2.11 BSD ============ --- 1,4 ---- ! Current Patch Level: 300 2.11 BSD ============