summaryrefslogtreecommitdiffstats
path: root/sys/conf/Makefile.pc98
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1997-05-23 10:12:10 +0000
committerkato <kato@FreeBSD.org>1997-05-23 10:12:10 +0000
commitb7e54e530c25b104ea83d08fa1fee00a8e796e9a (patch)
tree91d0d5118cf7cdac02a65c2438e059fccc87b0a7 /sys/conf/Makefile.pc98
parent29ff6d47418ac7a81f3aa14720f300bcaf8c8fd1 (diff)
downloadFreeBSD-src-b7e54e530c25b104ea83d08fa1fee00a8e796e9a.zip
FreeBSD-src-b7e54e530c25b104ea83d08fa1fee00a8e796e9a.tar.gz
Synchronize with sys/i386/conf/Makefile.i386 revision 1.97.
Diffstat (limited to 'sys/conf/Makefile.pc98')
-rw-r--r--sys/conf/Makefile.pc9835
1 files changed, 25 insertions, 10 deletions
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98
index 3abab7c..ba1a7ed 100644
--- a/sys/conf/Makefile.pc98
+++ b/sys/conf/Makefile.pc98
@@ -3,7 +3,7 @@
# Makefile.i386 -- with config changes.
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
-# $Id: Makefile.pc98,v 1.14 1997/04/28 15:48:49 kato Exp $
+# $Id: Makefile.pc98,v 1.15 1997/05/08 09:13:40 kato Exp $
#
# Makefile for FreeBSD
#
@@ -58,30 +58,36 @@ DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $<
DRIVER_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $<
PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $<
-SYSTEM_CFILES= ${I386}/i386/setdef0.c ioconf.c param.c vnode_if.c config.c \
- ${I386}/i386/setdef1.c
+# ${I386}/i386/setdef0.c and ${I386}/i386/setdef1.c are intentionally
+# omitted from SYSTEM_CFILES. They depend on setdefs.h, a header which
+# is generated from all of ${OBJS}. We don't want to have to compile
+# everything just to do a make depend.
+SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c
SYSTEM_SFILES= ${I386}/i386/locore.s
-SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
- setdef1.o
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS}
.if ${CFLAGS:M-g} == ""
SYMORDER_EXCLUDE=-x symbols.exclude
.endif
SYSTEM_LD_HEAD= @echo loading $@; rm -f $@
.if ${BINFORMAT} == aout
+SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
SYSTEM_LD_TAIL= @echo rearranging symbols; \
symorder -m ${SYMORDER_EXCLUDE} symbols.sort $@; \
size $@; chmod 755 $@
.endif
.if ${BINFORMAT} == aoutkld
+SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o
SYSTEM_LD= @${LD} -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
SYSTEM_LD_TAIL= @echo rearranging symbols; \
symorder -m ${SYMORDER_EXCLUDE} symbols.sort $@; \
size $@; chmod 755 $@
.endif
.if ${BINFORMAT} == elf
-SYSTEM_LD= @${LD} -Bstatic -Ttext ${LOAD_ADDRESS} -e btext -o $@ -X ${SYSTEM_OBJS} vers.o
+SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
+ setdef1.o
+SYSTEM_LD= @${LD} -Bstatic -Ttext ${LOAD_ADDRESS} -e btext -defsym _DYNAMIC=0 \
+ -o $@ -X ${SYSTEM_OBJS} vers.o
SYSTEM_LD_TAIL= @size $@; chmod 755 $@
.endif
@@ -98,8 +104,8 @@ SYSTEM_LD_TAIL= @size $@; chmod 755 $@
%CLEAN
clean:
- rm -f *.o *.s eddep errs genassym kernel linterrs \
- makelinks param.c symbols.exclude symbols.sort tags \
+ rm -f *.o *.s eddep errs genassym gensetdefs kernel linterrs \
+ makelinks param.c setdefs.h symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h ${CLEAN}
#lint: /tmp param.c
@@ -119,12 +125,21 @@ symbols.sort: ${I386}/i386/symbols.raw
locore.o: ${I386}/i386/locore.s assym.s
${NORMAL_S}
-setdef0.o: ${I386}/i386/setdef0.c
+setdef0.o: ${I386}/i386/setdef0.c setdefs.h
${NORMAL_C}
-setdef1.o: ${I386}/i386/setdef1.c
+setdef1.o: ${I386}/i386/setdef1.c setdefs.h
${NORMAL_C}
+setdefs.h: gensetdefs ${OBJS}
+ ./gensetdefs ${OBJS} >setdefs.h
+
+gensetdefs: gensetdefs.o
+ ${CC} ${CFLAGS} gensetdefs.o -o $@
+
+gensetdefs.o: ${I386}/i386/gensetdefs.c
+ ${CC} -c ${CFLAGS} ${I386}/i386/gensetdefs.c
+
# everything potentially depends on the Makefile since everything potentially
# depends on the options. Some things are more dependent on the Makefile for
# historical reasons.
OpenPOWER on IntegriCloud