Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/hpcarm/conf/Makefile.hpcarm,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/hpcarm/conf/Makefile.hpcarm,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.11 retrieving revision 1.12 diff -u -p -r1.11 -r1.12 --- src/sys/arch/hpcarm/conf/Makefile.hpcarm 2001/11/27 00:25:32 1.11 +++ src/sys/arch/hpcarm/conf/Makefile.hpcarm 2001/12/09 05:00:44 1.12 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.hpcarm,v 1.11 2001/11/27 00:25:32 thorpej Exp $ +# $NetBSD: Makefile.hpcarm,v 1.12 2001/12/09 05:00:44 atatat Exp $ # Makefile for NetBSD # @@ -11,190 +11,57 @@ # Machine generic makefile changes should be made in # /sys/arch/hpcarm/conf/Makefile.hpcarm # after which config should be rerun for all machines of that type. +# +# To specify debugging, add the config line: makeoptions DEBUG="-g" +# A better way is to specify -g only for a few files. +# +# makeoptions DEBUGLIST="uvm* trap if_*" MACHINE_ARCH=arm USETOOLS?= no - +NEED_OWN_INSTALL_TARGET?=no .include -# DEBUG is set to -g if debugging. -# PROF is set to -pg if profiling. - -AR?= ar -AS?= as -CC?= cc -CPP?= cpp -LD?= ld -LORDER?=lorder -MKDEP?= mkdep -NM?= nm -RANLIB?=ranlib -SIZE?= size -STRIP?= strip -TSORT?= tsort -q - -COPTS?= -O2 - -# source tree is located via $S relative to the compilation directory -.ifndef S -S!= cd ../../../..; pwd -.endif -ARM= $S/arch/arm -HPCARM= $S/arch/hpcarm - -HAVE_EGCS!= ${CC} --version | egrep "^(2\.[89]|egcs)" ; echo -INCLUDES= -I. -I$S/arch -I$S -nostdinc -CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT -Dhpcarm -Darm32 -CWARNFLAGS?= -Werror -Wall -Wcomment -Wpointer-arith -# XXX Delete -Wuninitialized for now, since the compiler doesn't -# XXX always get it right. --thorpej -CWARNFLAGS+= -Wno-uninitialized -.if (${HAVE_EGCS} != "") -CWARNFLAGS+= -Wno-main -.endif -CFLAGS= ${DEBUG} ${COPTS} ${CWARNFLAGS} -AFLAGS= -x assembler-with-cpp -D_LOCORE -LINKFLAGS= -Ttext C0040000 -e start -STRIPFLAGS= -g - +## +## (1) port identification +## +HPCARM= $S/arch/hpcarm +ARM= $S/arch/arm +GENASSYM= ${ARM}/arm32/genassym.cf GENASSYM_EXTRAS+= ${HPCARM}/hpcarm/genassym.cf -%INCLUDES - -HOSTED_CC= ${CC} -HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//} -HOSTED_CFLAGS= ${CFLAGS} - -### find out what to use for libkern +## +## (2) compile settings +## +CPPFLAGS+= -Dhpcarm -Darm32 +CWARNFLAGS+= -Wcomment +LOOSE_PROTOTYPES= yes +AFLAGS+= -x assembler-with-cpp + +## +## (3) libkern and compat +## KERN_AS= obj -.include "$S/lib/libkern/Makefile.inc" -.ifndef PROF -LIBKERN= ${KERNLIB} -.else -LIBKERN= ${KERNLIB_PROF} -.endif - -### find out what to use for libcompat -.include "$S/compat/common/Makefile.inc" -.ifndef PROF -LIBCOMPAT= ${COMPATLIB} -.else -LIBCOMPAT= ${COMPATLIB_PROF} -.endif - -# compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or -# HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file). - -NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< -NOPROF_C= ${CC} ${CFLAGS} ${CPPFLAGS} -c $< -NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $< - -HOSTED_C= ${HOSTED_CC} ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} -c $< - -%OBJS - -%CFILES - -%SFILES - -# load lines for config "xxx" will be emitted as: -# xxx: ${SYSTEM_DEP} swapxxx.o -# ${SYSTEM_LD_HEAD} -# ${SYSTEM_LD} swapxxx.o -# ${SYSTEM_LD_TAIL} -SYSTEM_OBJ= locore.o \ - param.o ioconf.o ${OBJS} ${LIBCOMPAT} ${LIBKERN} -SYSTEM_DEP= Makefile ${SYSTEM_OBJ} -SYSTEM_LD_HEAD= rm -f $@ -SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_OBJ}' vers.o; \ - ${LD} ${LINKFLAGS} -o $@ ${SYSTEM_OBJ} vers.o -SYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@ - -DEBUG?= -.if ${DEBUG} == "-g" -LINKFLAGS+= -X -SYSTEM_LD_TAIL+=; \ - echo mv -f $@ $@.gdb; mv -f $@ $@.gdb; \ - echo ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb; \ - ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb -.else -#LINKFLAGS+= -S -LINKFLAGS+= -X -.endif -%LOAD - -assym.h: $S/kern/genassym.sh ${ARM}/arm32/genassym.cf - cat ${ARM}/arm32/genassym.cf ${GENASSYM_EXTRAS} | \ - sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \ - > assym.h.tmp && \ - mv -f assym.h.tmp assym.h - -param.c: $S/conf/param.c - rm -f param.c - cp $S/conf/param.c . - -param.o: param.c Makefile - ${NORMAL_C} - -ioconf.o: ioconf.c - ${NORMAL_C} - -newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} - sh $S/conf/newvers.sh - ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c - -__CLEANKERNEL: .USE - @echo "${.TARGET}ing the kernel objects" - rm -f eddep *netbsd netbsd.gdb tags *.[io] [a-z]*.s \ - [Ee]rrs linterrs makelinks assym.h.tmp assym.h modedefs.c - -__CLEANDEPEND: .USE - rm -f .depend - -clean: __CLEANKERNEL - -cleandir distclean: __CLEANKERNEL __CLEANDEPEND - -lint: - @lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \ - ${HPCARM}/hpcarm/Locore.c ${CFILES} \ - ioconf.c param.c | \ - grep -v 'static function .* unused' - -tags: - @echo "see $S/kern/Makefile for tags" - -links: - egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ - sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink - echo ${CFILES} | 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 - -SRCS= ${HPCARM}/hpcarm/locore.S param.c ioconf.c ${CFILES} ${SFILES} -depend: .depend -.depend: ${SRCS} assym.h param.c - ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${HPCARM}/hpcarm/locore.S - ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES} - test -z "${SFILES}" || ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES} - sh $S/kern/genassym.sh ${MKDEP} -f assym.dep ${CFLAGS} \ - ${CPPFLAGS} < ${HPCARM}/hpcarm/genassym.cf - @sed -e 's/.*\.o:.*\.c/assym.h:/' < assym.dep >> .depend - @rm -f assym.dep - -dependall: depend all - - -# depend on root or device configuration -autoconf.o conf.o: Makefile +## +## (4) local objects, compile rules, and dependencies +## +MD_OBJS= locore.o +MD_CFILES= +MD_SFILES= ${HPCARM}/hpcarm/locore.S -# depend on network -uipc_proto.o: Makefile +locore.o: ${HPCARM}/hpcarm/locore.S assym.h + ${NORMAL_S} -# depend on maxusers -assym.h: Makefile +## +## (5) link settings +## +TEXTADDR?= C0040000 +LINKFLAGS_NORMAL= -X + +## +## (6) port specific target dependencies +## # depend on CPU configuration cpufunc.o cpufunc_asm.o: Makefile @@ -202,20 +69,26 @@ cpufunc.o cpufunc_asm.o: Makefile # depend on DIAGNOSTIC etc. cpuswitch.o fault.o machdep.o: Makefile +## +## (7) misc settings +## + +## +## (8) config(8) generated machinery +## +%INCLUDES -locore.o: ${HPCARM}/hpcarm/locore.S assym.h - ${NORMAL_S} +%OBJS + +%CFILES -# The install target can be redefined by putting a -# install-kernel-${MACHINE_NAME} target into /etc/mk.conf -MACHINE_NAME!= uname -n -install: install-kernel-${MACHINE_NAME} -.if !target(install-kernel-${MACHINE_NAME}}) -install-kernel-${MACHINE_NAME}: - rm -f /onetbsd - ln /netbsd /onetbsd - cp netbsd /nnetbsd - mv /nnetbsd /netbsd -.endif +%SFILES + +%LOAD %RULES + +## +## (9) port independent kernel machinery +## +.include "$S/conf/Makefile.kern.inc"