diff options
| author | Yoshihiro Takahashi <nyan@FreeBSD.org> | 2000-07-07 12:36:58 +0000 |
|---|---|---|
| committer | Yoshihiro Takahashi <nyan@FreeBSD.org> | 2000-07-07 12:36:58 +0000 |
| commit | 384f95dcd9a2053ecd6cd5bed601fbca06232cf9 (patch) | |
| tree | c3b824b891e74db117ff9327f2cd0082ea74597d | |
| parent | ce611ff881a06d0ca804eaf7daeaa2ca488595e4 (diff) | |
Notes
| -rw-r--r-- | sys/conf/Makefile.pc98 | 84 |
1 files changed, 69 insertions, 15 deletions
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98 index b71f1ebf0cba..66b762fdfb9b 100644 --- a/sys/conf/Makefile.pc98 +++ b/sys/conf/Makefile.pc98 @@ -34,7 +34,8 @@ S= ../.. .endif M= ${MACHINE_ARCH} -SIZE?= size +SIZE?= size +OBJCOPY?= objcopy COPTFLAGS?=-O INCLUDES= -nostdinc -I- -I. -I$S @@ -87,7 +88,8 @@ SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \ -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o -SYSTEM_LD_TAIL= @${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET} +SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \ + ${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET} SYSTEM_DEP+= $S/conf/ldscript.$M %BEFORE_DEPEND @@ -102,14 +104,23 @@ SYSTEM_DEP+= $S/conf/ldscript.$M %CLEAN +.PHONY: all modules + all: ${KERNEL} +depend: kernel-depend +clean: kernel-clean +cleandepend: kernel-cleandepend +tags: kernel-tags +install install.debug: kernel-install +reinstall reinstall.debug: kernel-reinstall + .if !defined(DEBUG) FULLKERNEL= ${KERNEL} .else FULLKERNEL= ${KERNEL}.debug ${KERNEL}: ${FULLKERNEL} - objcopy --strip-debug ${FULLKERNEL} ${KERNEL} + ${OBJCOPY} --strip-debug ${FULLKERNEL} ${KERNEL} .endif ${FULLKERNEL}: ${SYSTEM_DEP} vers.o @@ -122,8 +133,8 @@ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o ${SYSTEM_OBJS}: vnode_if.h ${BEFORE_DEPEND:M*.h} .endif -clean: - rm -f *.o *.so *.So *.ko *.s eddep errs genassym \ +kernel-clean: + rm -f *.o *.so *.So *.ko *.s eddep errs \ ${FULLKERNEL} ${KERNEL} linterrs makelinks param.c \ setdef[01].c setdefs.h tags \ vers.c vnode_if.c vnode_if.h ${CLEAN} @@ -159,8 +170,8 @@ setdef0.c setdef1.c setdefs.h: ${OBJS} # this rule stops ./assym.s in .depend from causing problems ./assym.s: assym.s -assym.s: genassym.o - genassym genassym.o >assym.s +assym.s: $S/kern/genassym.sh genassym.o + sh $S/kern/genassym.sh genassym.o > ${.TARGET} genassym.o: $S/$M/$M/genassym.c rm -f ./machine ; ln -s $S/$M/include ./machine @@ -168,7 +179,7 @@ genassym.o: $S/$M/$M/genassym.c ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h -depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} \ +kernel-depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} \ ${CFILES} ${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} ${SYSTEM_SFILES} rm -f .newdep mkdep -a -f .newdep ${CFLAGS} ${CFILES} ${SYSTEM_CFILES} ${GEN_CFILES} @@ -177,7 +188,7 @@ depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND} \ rm -f .depend mv -f .newdep .depend -cleandepend: +kernel-cleandepend: rm -f .depend links: @@ -188,14 +199,14 @@ links: sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink -tags: +kernel-tags: @[ -f .depend ] || { echo "you must make depend first"; exit 1; } sh $S/conf/systags.sh rm -f tags1 sed -e 's, ../, ,' tags > tags1 -install install.debug: - @if [ ! -f ${KERNEL}${.TARGET:S/install//} ] ; then \ +kernel-install kernel-install.debug: + @if [ ! -f ${KERNEL}${.TARGET:S/kernel-install//} ] ; then \ echo "You must build a kernel first." ; \ exit 1 ; \ fi @@ -204,11 +215,54 @@ install install.debug: mv ${DESTDIR}/${KERNEL} ${DESTDIR}/${KERNEL}.old .endif install -c -m 555 -o root -g wheel -fschg \ - ${KERNEL}${.TARGET:S/install//} ${DESTDIR}/${KERNEL} + ${KERNEL}${.TARGET:S/kernel-install//} ${DESTDIR}/${KERNEL} -reinstall reinstall.debug: +kernel-reinstall kernel-reinstall.debug: install -c -m 555 -o root -g wheel -fschg \ - ${KERNEL}${.TARGET:S/reinstall//} ${DESTDIR}/${KERNEL} + ${KERNEL}${.TARGET:S/kernel-reinstall//} ${DESTDIR}/${KERNEL} + +.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists($S/modules) +all: modules +depend: modules-depend +clean: modules-clean +cleandepend: modules-cleandepend +cleandir: modules-cleandir +tags: modules-tags +install install.debug: modules-install +reinstall reinstall.debug: modules-reinstall +.endif + +modules: + @mkdir -p ${.OBJDIR}/modules + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} obj all + +modules-depend: + @mkdir -p ${.OBJDIR}/modules + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} obj depend + +modules-clean: + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} clean + +modules-cleandepend: + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} cleandepend + +modules-cleandir: + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} cleandir + +modules-tags: + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} tags + +modules-install modules-install.debug: +.if !defined(NO_MODULES_OLD) + if [ -d ${DESTDIR}/modules -a -n "`ls ${DESTDIR}/modules`" ]; then \ + mkdir -p ${DESTDIR}/modules.old; \ + cp -p ${DESTDIR}/modules/* ${DESTDIR}/modules.old; \ + fi; +.endif + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} install + +modules-reinstall modules-reinstall.debug: + cd $S/modules && env MAKEOBJDIRPREFIX=${.OBJDIR}/modules ${MAKE} install config.o: ${NORMAL_C} |
