diff options
Diffstat (limited to 'sys/pc98/conf')
-rw-r--r-- | sys/pc98/conf/Makefile.pc98 | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/sys/pc98/conf/Makefile.pc98 b/sys/pc98/conf/Makefile.pc98 index 3abab7c..ba1a7ed 100644 --- a/sys/pc98/conf/Makefile.pc98 +++ b/sys/pc98/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. |