Synced with sys/i386/conf/Makefile.i386 rev 1.176.
This commit is contained in:
parent
660a5f4353
commit
a7dcfbda20
@ -23,7 +23,6 @@
|
||||
|
||||
# Can be overridden by makeoptions or /etc/make.conf
|
||||
KERNEL?= kernel
|
||||
KERNFORMAT?= elf
|
||||
#STD8X16FONT?= iso
|
||||
|
||||
.if !defined(S)
|
||||
@ -34,7 +33,7 @@ S= ../..
|
||||
.endif
|
||||
.endif
|
||||
PC98= ${S}/pc98
|
||||
I386= ${S}/i386
|
||||
M= ${MACHINE_ARCH}
|
||||
|
||||
SIZE?= size
|
||||
|
||||
@ -55,11 +54,7 @@ ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
|
||||
# Select the correct set of tools. Can't set OBJFORMAT here because it
|
||||
# doesn't get exported into the environment, and if it were exported
|
||||
# then it might break building of utilities.
|
||||
.if ${KERNFORMAT} == "elf"
|
||||
FMT= -elf
|
||||
.else
|
||||
FMT= -aout
|
||||
.endif
|
||||
CFLAGS+= ${FMT}
|
||||
|
||||
LOAD_ADDRESS?= C0100000
|
||||
@ -81,30 +76,21 @@ NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
|
||||
NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${.IMPSRC}
|
||||
PROFILE_C= ${CC} -c ${CFLAGS} ${.IMPSRC}
|
||||
|
||||
GEN_CFILES= ${I386}/i386/genassym.c
|
||||
GEN_CFILES= $S/$M/$M/genassym.c
|
||||
# setdef0.c and setdef1.c are intentionally
|
||||
# omitted from SYSTEM_CFILES. They include 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_SFILES= $S/$M/$M/locore.s
|
||||
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
|
||||
|
||||
.if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld
|
||||
SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
|
||||
SYSTEM_LD_TAIL= @${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET}
|
||||
.endif
|
||||
|
||||
.if ${KERNFORMAT} == elf
|
||||
SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
|
||||
setdef1.o hack.So
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/i386/conf/kernel.script \
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/$M/conf/kernel.script \
|
||||
-export-dynamic -dynamic-linker /red/herring \
|
||||
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
|
||||
SYSTEM_LD_TAIL= @${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET}
|
||||
SYSTEM_DEP+= $S/i386/conf/kernel.script
|
||||
.endif
|
||||
SYSTEM_DEP+= $S/$M/conf/kernel.script
|
||||
|
||||
%BEFORE_DEPEND
|
||||
|
||||
@ -125,12 +111,7 @@ FULLKERNEL= ${KERNEL}
|
||||
.else
|
||||
FULLKERNEL= ${KERNEL}.debug
|
||||
${KERNEL}: ${FULLKERNEL}
|
||||
.if ${KERNFORMAT} == "elf"
|
||||
objcopy --strip-debug ${FULLKERNEL} ${KERNEL}
|
||||
.else
|
||||
cp ${FULLKERNEL} ${KERNEL}
|
||||
strip -aout -d ${KERNEL}
|
||||
.endif
|
||||
.endif
|
||||
|
||||
${FULLKERNEL}: ${SYSTEM_DEP} vers.o
|
||||
@ -144,21 +125,20 @@ ${SYSTEM_OBJS}: vnode_if.h ${BEFORE_DEPEND:M*.h}
|
||||
.endif
|
||||
|
||||
clean:
|
||||
rm -f *.o *.so *.So *.ko *.s eddep errs \
|
||||
rm -f *.o *.so *.So *.ko *.s eddep errs genassym \
|
||||
${FULLKERNEL} ${KERNEL} linterrs makelinks param.c \
|
||||
setdef[01].c setdefs.h tags \
|
||||
vers.c vnode_if.c vnode_if.h ${CLEAN}
|
||||
|
||||
#lint: /tmp param.c
|
||||
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
|
||||
# ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \
|
||||
# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
|
||||
# grep -v 'struct/union .* never defined' | \
|
||||
# grep -v 'possible pointer alignment problem'
|
||||
|
||||
locore.o: ${I386}/i386/locore.s assym.s
|
||||
locore.o: $S/$M/$M/locore.s assym.s
|
||||
${NORMAL_S}
|
||||
|
||||
.if ${KERNFORMAT} == elf
|
||||
# This is a hack. BFD "optimizes" away dynamic mode if there are no
|
||||
# dynamic references. We could probably do a '-Bforcedynamic' mode like
|
||||
# in the a.out ld. For now, this works.
|
||||
@ -166,7 +146,6 @@ hack.So: Makefile
|
||||
touch hack.c
|
||||
${CC} ${FMT} -shared -nostdlib hack.c -o hack.So
|
||||
rm -f hack.c
|
||||
.endif
|
||||
|
||||
.ORDER: setdefs.h setdef0.c setdef1.c
|
||||
|
||||
@ -185,9 +164,9 @@ setdef0.c setdef1.c setdefs.h: ${OBJS}
|
||||
assym.s: genassym.o
|
||||
genassym genassym.o >assym.s
|
||||
|
||||
genassym.o: ${I386}/i386/genassym.c
|
||||
rm -f ./machine ; ln -s ${I386}/include ./machine
|
||||
${CC} -c ${CFLAGS} ${I386}/i386/genassym.c
|
||||
genassym.o: $S/$M/$M/genassym.c
|
||||
rm -f ./machine ; ln -s $S/$M/include ./machine
|
||||
${CC} -c ${CFLAGS} $S/$M/$M/genassym.c
|
||||
|
||||
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
# Can be overridden by makeoptions or /etc/make.conf
|
||||
KERNEL?= kernel
|
||||
KERNFORMAT?= elf
|
||||
#STD8X16FONT?= iso
|
||||
|
||||
.if !defined(S)
|
||||
@ -34,7 +33,7 @@ S= ../..
|
||||
.endif
|
||||
.endif
|
||||
PC98= ${S}/pc98
|
||||
I386= ${S}/i386
|
||||
M= ${MACHINE_ARCH}
|
||||
|
||||
SIZE?= size
|
||||
|
||||
@ -55,11 +54,7 @@ ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
|
||||
# Select the correct set of tools. Can't set OBJFORMAT here because it
|
||||
# doesn't get exported into the environment, and if it were exported
|
||||
# then it might break building of utilities.
|
||||
.if ${KERNFORMAT} == "elf"
|
||||
FMT= -elf
|
||||
.else
|
||||
FMT= -aout
|
||||
.endif
|
||||
CFLAGS+= ${FMT}
|
||||
|
||||
LOAD_ADDRESS?= C0100000
|
||||
@ -81,30 +76,21 @@ NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
|
||||
NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${.IMPSRC}
|
||||
PROFILE_C= ${CC} -c ${CFLAGS} ${.IMPSRC}
|
||||
|
||||
GEN_CFILES= ${I386}/i386/genassym.c
|
||||
GEN_CFILES= $S/$M/$M/genassym.c
|
||||
# setdef0.c and setdef1.c are intentionally
|
||||
# omitted from SYSTEM_CFILES. They include 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_SFILES= $S/$M/$M/locore.s
|
||||
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
|
||||
|
||||
.if ${KERNFORMAT} == aout || ${KERNFORMAT} == aoutkld
|
||||
SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bforcedynamic -Z -T ${LOAD_ADDRESS} -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
|
||||
SYSTEM_LD_TAIL= @${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET}
|
||||
.endif
|
||||
|
||||
.if ${KERNFORMAT} == elf
|
||||
SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
|
||||
setdef1.o hack.So
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/i386/conf/kernel.script \
|
||||
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/$M/conf/kernel.script \
|
||||
-export-dynamic -dynamic-linker /red/herring \
|
||||
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
|
||||
SYSTEM_LD_TAIL= @${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET}
|
||||
SYSTEM_DEP+= $S/i386/conf/kernel.script
|
||||
.endif
|
||||
SYSTEM_DEP+= $S/$M/conf/kernel.script
|
||||
|
||||
%BEFORE_DEPEND
|
||||
|
||||
@ -125,12 +111,7 @@ FULLKERNEL= ${KERNEL}
|
||||
.else
|
||||
FULLKERNEL= ${KERNEL}.debug
|
||||
${KERNEL}: ${FULLKERNEL}
|
||||
.if ${KERNFORMAT} == "elf"
|
||||
objcopy --strip-debug ${FULLKERNEL} ${KERNEL}
|
||||
.else
|
||||
cp ${FULLKERNEL} ${KERNEL}
|
||||
strip -aout -d ${KERNEL}
|
||||
.endif
|
||||
.endif
|
||||
|
||||
${FULLKERNEL}: ${SYSTEM_DEP} vers.o
|
||||
@ -144,21 +125,20 @@ ${SYSTEM_OBJS}: vnode_if.h ${BEFORE_DEPEND:M*.h}
|
||||
.endif
|
||||
|
||||
clean:
|
||||
rm -f *.o *.so *.So *.ko *.s eddep errs \
|
||||
rm -f *.o *.so *.So *.ko *.s eddep errs genassym \
|
||||
${FULLKERNEL} ${KERNEL} linterrs makelinks param.c \
|
||||
setdef[01].c setdefs.h tags \
|
||||
vers.c vnode_if.c vnode_if.h ${CLEAN}
|
||||
|
||||
#lint: /tmp param.c
|
||||
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
|
||||
# ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \
|
||||
# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
|
||||
# grep -v 'struct/union .* never defined' | \
|
||||
# grep -v 'possible pointer alignment problem'
|
||||
|
||||
locore.o: ${I386}/i386/locore.s assym.s
|
||||
locore.o: $S/$M/$M/locore.s assym.s
|
||||
${NORMAL_S}
|
||||
|
||||
.if ${KERNFORMAT} == elf
|
||||
# This is a hack. BFD "optimizes" away dynamic mode if there are no
|
||||
# dynamic references. We could probably do a '-Bforcedynamic' mode like
|
||||
# in the a.out ld. For now, this works.
|
||||
@ -166,7 +146,6 @@ hack.So: Makefile
|
||||
touch hack.c
|
||||
${CC} ${FMT} -shared -nostdlib hack.c -o hack.So
|
||||
rm -f hack.c
|
||||
.endif
|
||||
|
||||
.ORDER: setdefs.h setdef0.c setdef1.c
|
||||
|
||||
@ -185,9 +164,9 @@ setdef0.c setdef1.c setdefs.h: ${OBJS}
|
||||
assym.s: genassym.o
|
||||
genassym genassym.o >assym.s
|
||||
|
||||
genassym.o: ${I386}/i386/genassym.c
|
||||
rm -f ./machine ; ln -s ${I386}/include ./machine
|
||||
${CC} -c ${CFLAGS} ${I386}/i386/genassym.c
|
||||
genassym.o: $S/$M/$M/genassym.c
|
||||
rm -f ./machine ; ln -s $S/$M/include ./machine
|
||||
${CC} -c ${CFLAGS} $S/$M/$M/genassym.c
|
||||
|
||||
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user