[BACK]Return to Makefile.i386 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / i386 / conf

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/i386/conf/Makefile.i386 between version 1.112 and 1.112.2.6

version 1.112, 2001/01/20 07:18:06 version 1.112.2.6, 2002/12/11 06:00:50
Line 11 
Line 11 
 # Machine generic makefile changes should be made in  # Machine generic makefile changes should be made in
 #       /sys/arch/i386/conf/Makefile.i386  #       /sys/arch/i386/conf/Makefile.i386
 # after which config should be rerun for all machines of that type.  # 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=   i386
   USETOOLS?=      no
   NEED_OWN_INSTALL_TARGET?=no
 .include <bsd.own.mk>  .include <bsd.own.mk>
   
 # DEBUG is set to -g if debugging.  ##
 # PROF is set to -pg if profiling.  ## (1) port identification
   ##
   I386=           $S/arch/i386
   GENASSYM=       ${I386}/i386/genassym.cf
   
   ##
   ## (2) compile settings
   ##
   CPPFLAGS+=      -Di386
   AFLAGS+=        -x assembler-with-cpp -traditional-cpp
   
   ##
   ## (3) libkern and compat
   ##
   KERN_AS=        obj
   
 AR?=    ar  ##
 AS?=    as  ## (4) local objects, compile rules, and dependencies
 CC?=    cc  ##
 CPP?=   cpp  MD_OBJS=        locore.o spl.o vector.o
 LD?=    ld  MD_CFILES=
 LORDER?=lorder  MD_SFILES=      ${I386}/i386/locore.S
 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  
 I386=   $S/arch/i386  
   
 HAVE_EGCS!=     ${CC} --version | egrep "^(2\.[89]|egcs)" ; echo  locore.o: ${I386}/i386/locore.S assym.h
 INCLUDES=       -I. -I$S/arch -I$S -nostdinc          ${NORMAL_S}
 CPPFLAGS=       ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -Di386  
 CWARNFLAGS?=    -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes \  
                 -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 -traditional-cpp -D_LOCORE  
 LINKFLAGS=      -Ttext c0100000 -e start  
   
 .if (${OBJECT_FMT} == "ELF")  
 KERN_LDSCRIPT?= kern.ldscript  
 LINKFLAGS+=     -T ${I386}/conf/${KERN_LDSCRIPT}  
 .else  
 LINKFLAGS+=     -z  
 .endif  
   
 STRIPFLAGS=     -g  spl.o: ${I386}/i386/spl.S assym.h
           ${NORMAL_S}
   
 %INCLUDES  vector.o: ${I386}/i386/vector.S assym.h
           ${NORMAL_S}
   
 ### find out what to use for libkern  ##
 KERN_AS=        obj  ## (5) link settings
 .include "$S/lib/libkern/Makefile.inc"  ##
 .ifndef PROF  TEXTADDR?=      c0100000
 LIBKERN=        ${KERNLIB}  LINKFLAGS_NORMAL=       -X
   .if (${OBJECT_FMT} == "ELF")
   KERN_LDSCRIPT?= kern.ldscript
   LINKFORMAT=     -T ${I386}/conf/${KERN_LDSCRIPT}
 .else  .else
 LIBKERN=        ${KERNLIB_PROF}  LINKFORMAT=     -z
 .endif  .endif
   
 ### find out what to use for libcompat  ##
 .include "$S/compat/common/Makefile.inc"  ## (6) port specific target dependencies
 .ifndef PROF  ##
 LIBCOMPAT=      ${COMPATLIB}  
 .else  
 LIBCOMPAT=      ${COMPATLIB_PROF}  
 .endif  
   
 # compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or  freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o: assym.h
 # HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file).  svr4_sigcode.o mach_sigcode.o: assym.h
   apmcall.o in_cksum.o pnpbioscall.o: assym.h
   
 NORMAL_C=       ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $<  ##
 NOPROF_C=       ${CC} ${CFLAGS} ${CPPFLAGS} -c $<  ## (7) misc settings
 NORMAL_S=       ${CC} ${AFLAGS} ${CPPFLAGS} -c $<  ##
   
   ##
   ## (8) config(8) generated machinery
   ##
   %INCLUDES
   
 %OBJS  %OBJS
   
Line 94  NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c
Line 90  NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c
   
 %SFILES  %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+=     -X  
 .endif  
   
 %LOAD  %LOAD
   
 assym.h: $S/kern/genassym.sh ${I386}/i386/genassym.cf  
         sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \  
             < ${I386}/i386/genassym.cf > 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  
   
 __CLEANDEPEND: .USE  
         rm -f .depend  
   
 clean: __CLEANKERNEL  
   
 cleandir distclean: __CLEANKERNEL __CLEANDEPEND  
   
 lint:  
         @lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \  
             ${I386}/i386/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=   ${I386}/i386/locore.s \  
         param.c ioconf.c ${CFILES} ${SFILES}  
 depend: .depend  
 .depend: ${SRCS} assym.h param.c  
         ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${I386}/i386/locore.s  
         ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES}  
         ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES}  
         sh $S/kern/genassym.sh ${MKDEP} -f assym.dep ${CFLAGS} \  
           ${CPPFLAGS} < ${I386}/i386/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  
   
 # depend on network or filesystem configuration  
 uipc_proto.o vfs_conf.o: Makefile  
   
 # depend on maxusers  
 machdep.o: Makefile  
   
 # depend on CPU configuration  
 locore.o machdep.o: Makefile  
   
 locore.o: ${I386}/i386/locore.s assym.h  
         ${NORMAL_S}  
   
 apmcall.o in_cksum.o pnpbioscall.o: assym.h  
   
 freebsd_sigcode.o ibcs2_sigcode.o linux_sigcode.o svr4_sigcode.o: assym.h  
   
 # 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  
   
 %RULES  %RULES
   
   ##
   ## (9) port independent kernel machinery
   ##
   .include "$S/conf/Makefile.kern.inc"

Legend:
Removed from v.1.112  
changed lines
  Added in v.1.112.2.6

CVSweb <webmaster@jp.NetBSD.org>