summaryrefslogtreecommitdiffstats
path: root/sys/conf/Makefile.pc98
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>1996-06-14 10:04:54 +0000
committerasami <asami@FreeBSD.org>1996-06-14 10:04:54 +0000
commit11677d0ab4154036d365fe6697f9d6048dd6bf0e (patch)
treeb16bc29399fcb327f66d0a663ab7e5390be39106 /sys/conf/Makefile.pc98
parent27f43565aafed9c68ce08066a71a43a9c692bcb7 (diff)
downloadFreeBSD-src-11677d0ab4154036d365fe6697f9d6048dd6bf0e.zip
FreeBSD-src-11677d0ab4154036d365fe6697f9d6048dd6bf0e.tar.gz
The PC98-specific files.
Ok'd by: core Submitted by: FreeBSD(98) development team
Diffstat (limited to 'sys/conf/Makefile.pc98')
-rw-r--r--sys/conf/Makefile.pc98196
1 files changed, 196 insertions, 0 deletions
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98
new file mode 100644
index 0000000..d0915fa
--- /dev/null
+++ b/sys/conf/Makefile.pc98
@@ -0,0 +1,196 @@
+# Makefile for FreeBSD(98) after:
+#
+# Makefile.i386 -- with config changes.
+# Copyright 1990 W. Jolitz
+# from: @(#)Makefile.i386 7.1 5/10/91
+# $Id: Makefile.i386,v 1.84 1996/06/08 23:27:16 jkh Exp $
+#
+# Makefile for FreeBSD
+#
+# This makefile is constructed from a machine description:
+# config machineid
+# Most changes should be made in the machine description
+# /sys/i386/conf/``machineid''
+# after which you should do
+# config machineid
+# Generic makefile changes should be made in
+# /sys/i386/conf/Makefile.i386
+# after which config should be rerun for all machines.
+#
+CC?= cc
+CPP?= cpp
+LD?= /usr/bin/ld
+
+.if exists(./@/.)
+S= ./@
+.else
+S= ../..
+.endif
+PC98= ${S}/pc98
+I386= ${S}/i386
+
+CWARNFLAGS?= -W -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit \
+ -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes \
+ -Winline
+#
+# The following flags are next up for working on:
+# -Wall
+#
+# When working on removing warnings from code, the `-Werror' flag should be
+# of material assistance.
+#
+COPTFLAGS?=-O
+# Not ready for -I- yet. #include "foo.h" where foo.h is in the srcdir fails.
+INCLUDES= -nostdinc -I. -I$S -I$S/sys
+# This hack is to allow kernel compiles to succeed on machines w/out srcdist
+.if exists($S/../include)
+INCLUDES+= -I$S/../include
+.else
+INCLUDES+= -I/usr/include
+.endif
+COPTS= ${INCLUDES} ${IDENT} -DKERNEL
+CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS}
+LOAD_ADDRESS?= F0100000
+
+NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $<
+NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $<
+# XXX LOCORE means "don't declare C stuff" not "for locore.s".
+NORMAL_S= ${CC} -c -x assembler-with-cpp -DLOCORE ${COPTS} $<
+DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $<
+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= ioconf.c param.c vnode_if.c config.c
+SYSTEM_SFILES= ${PC98}/i386/locore.s
+SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o config.o
+SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS}
+SYSTEM_LD_HEAD= @echo loading $@; rm -f $@
+SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
+.if ${CFLAGS:M-g} == ""
+SYMORDER_EXCLUDE=-x symbols.exclude
+.endif
+SYSTEM_LD_TAIL= @echo rearranging symbols; \
+ symorder -m ${SYMORDER_EXCLUDE} symbols.sort $@; \
+ size $@; chmod 755 $@
+
+%BEFORE_DEPEND
+
+%OBJS
+
+%CFILES
+
+%SFILES
+
+%LOAD
+
+%CLEAN
+
+clean:
+ rm -f *.o *.s eddep errs genassym kernel linterrs \
+ makelinks param.c symbols.exclude symbols.sort tags \
+ vers.c vnode_if.c vnode_if.h ${CLEAN}
+
+#lint: /tmp param.c
+# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \
+# ${PC98}/i386/Locore.c ${CFILES} ioconf.c param.c | \
+# grep -v 'struct/union .* never defined' | \
+# grep -v 'possible pointer alignment problem'
+
+symbols.exclude: Makefile
+ echo "gcc2_compiled." >symbols.exclude
+ echo "___gnu_compiled_c" >>symbols.exclude
+
+symbols.sort: ${I386}/i386/symbols.raw
+ grep -v '^#' ${I386}/i386/symbols.raw \
+ | sed 's/^ //' | sort -u > symbols.sort
+
+locore.o: ${PC98}/i386/locore.s assym.s
+ ${NORMAL_S}
+
+# everything potentially depends on the Makefile since everything potentially
+# depends on the options. Some things are more dependent on the Makefile for
+# historical reasons.
+machdep.o: Makefile
+
+# the following is necessary because autoconf.o depends on #if GENERIC
+autoconf.o: Makefile
+
+# XXX - may no longer be needed
+locore.o: Makefile
+
+# depends on KDB (cons.o also depends on GENERIC)
+trap.o cons.o: Makefile
+
+# this rule stops ./assym.s in .depend from causing problems
+./assym.s: assym.s
+
+assym.s: genassym
+ ./genassym >assym.s
+
+# Some of the defines that genassym outputs may well depend on the
+# value of kernel options.
+genassym.o: ${I386}/i386/genassym.c Makefile
+ rm -f ./machine ; ln -s ${I386}/include ./machine
+ ${CC} -c ${CFLAGS} ${PARAM} -UKERNEL ${I386}/i386/genassym.c
+
+genassym: genassym.o
+ ${CC} -static ${CFLAGS} ${PARAM} genassym.o -o $@
+
+# XXX this assumes that the options for NORMAL_C* and DRIVER_C* are identical.
+depend: assym.s param.c vnode_if.h ${BEFORE_DEPEND}
+ rm -f .newdep
+ mkdep -a -f .newdep ${COPTS} ${CFILES} ${SYSTEM_CFILES}
+ mkdep -a -f .newdep ${COPTS} ${PARAM} -UKERNEL ${I386}/i386/genassym.c
+ MKDEP_CPP="${CPP}" ; export MKDEP_CPP ; \
+ mkdep -a -f .newdep -DLOCORE ${COPTS} ${SFILES} ${SYSTEM_SFILES}
+ rm -f .depend
+ mv -f .newdep .depend
+
+links:
+ egrep '#if' ${CFILES:Nswapkernel.c} | sed -f $S/conf/defines | \
+ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink
+ echo ${CFILES:Nswapkernel.c} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
+ sort -u | comm -23 - dontlink | \
+ sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks
+ sh makelinks && rm -f dontlink
+
+tags:
+ @echo "see $S/kern/Makefile for tags"
+
+install:
+ @if [ ! -f kernel ] ; then \
+ echo "You must first build your kernel before trying to install." ; \
+ exit 1 ; \
+ fi
+ chflags noschg /kernel
+ mv /kernel /kernel.old
+ if [ `sysctl -n kern.bootfile` = /kernel ] ; then \
+ sysctl -w kern.bootfile=/kernel.old ; \
+ mv -f /var/db/kvm_kernel.db /var/db/kvm_kernel.old.db ; \
+ fi
+ install -c -m 555 -o root -g wheel -fschg kernel /
+
+ioconf.o: ioconf.c $S/sys/param.h $S/sys/buf.h \
+ ${PC98}/pc98/pc98_device.h ${PC98}/pc98/pc98.h ${PC98}/pc98/icu.h
+ ${CC} -c ${CFLAGS} ioconf.c
+
+param.c: $S/conf/param.c
+ -rm -f param.c
+ cp $S/conf/param.c .
+
+param.o: param.c Makefile
+ ${CC} -c ${CFLAGS} ${PARAM} param.c
+
+vers.o: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
+ sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT}
+ ${CC} ${CFLAGS} -c vers.c
+
+vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src
+ sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
+vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
+ sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
+
+%RULES
+
+# DO NOT DELETE THIS LINE -- make depend uses it
OpenPOWER on IntegriCloud