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

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

Diff for /src/sys/rump/Makefile.rump between version 1.6.10.5 and 1.7

version 1.6.10.5, 2010/08/11 22:55:00 version 1.7, 2008/05/03 14:48:31
Line 1 
Line 1 
 #       $NetBSD$  #       $NetBSD$
 #  #
   
 WARNS?=         3       # XXX: src/sys won't compile with -Wsign-compare yet  
 NOLINT=         # kernel code  
   
 .include <bsd.own.mk>  .include <bsd.own.mk>
   
 # If RUMPKMOD is _not_ set (only on capable archs, from bsd.own.mk),  LIBISPRIVATE=   yes
 # use rump ABI instead of the NetBSD kernel ABI.  NOMAN=          wizd
 .ifndef RUMPKMOD  
 CPPFLAGS:=      -I${RUMPTOP}/include ${CPPFLAGS}  
 CPPFLAGS+=      -D_RUMPKERNEL  
 .else  
 CPPFLAGS+=      -D_RUMP_NATIVE_ABI  
 .endif  
   
 CFLAGS+=        -ffreestanding -fno-strict-aliasing  
 CWARNFLAGS+=    -Wno-format-zero-length -Wno-pointer-sign  
 CPPFLAGS+=      -D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR  
 CPPFLAGS+=      -DMAXUSERS=32  
 CPPFLAGS+=      -DDIAGNOSTIC  
 CPPFLAGS+=      -DCOMPAT_50  
 CPPFLAGS+=      -DDEBUGPRINT  
 CPPFLAGS+=      -I${.CURDIR} -I.  
 CPPFLAGS+=      -I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch  
 CPPFLAGS+=      -I${RUMPTOP}/include  
 CPPFLAGS+=      -I${RUMPTOP}/librump/rumpkern/opt  
 CPPFLAGS+=      -nostdinc -I${RUMPTOP}/..  
 LDFLAGS+=       -T ${RUMPTOP}/ldscript.rump  
 #CPPFLAGS+=     -DDEBUG  
   
 # kernel libs should not get linked against libc  
 # XXX: actually, we would like to enable this but cannot, since it  
 # also leaves out libgcc, it causes problems on some platforms.  
 # revisit some day.  
 #LDFLAGS+=      -nodefaultlibs  
   
 # make sure __NetBSD__ gets defined (for builds on non-NetBSD)  
 CPPFLAGS+=      -D__NetBSD__  
   
 RUMPKERNEL=     This is NetBSD and I am the rump.  Good evening.  
   
 # workaround: evbppc is not a well-defined arch  
 .if (${MACHINE} == "evbppc")  
 CPPFLAGS+=      -DPPC_OEA  
 .endif  
   
 # If this file changes, we need a full rebuild  
 DPSRCS+=        ${RUMPTOP}/Makefile.rump  
   
 #  
 # Rename library symbols before use.  If a symbol does not already belong  
 # to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This  
 # avoids accidentally linking any kernel symbol against host platform  
 # libraries.  The only non-renamed symbols are linkset delimiters and  
 # the GOT, which are more a property of the compiler than the kernel.  
 #  
 # Some toolchains generate unresolved symbols which are supposed to be  
 # satisfied by the toolchain itself when the program is linked.  
 # Unfortunately, we do not know which of the symbols are generated by  
 # the toolchain.  Worse, they vary from platform to platform and  
 # toolchain to toolchain.  The good news, however, is that this will  
 # be detected by a compile-time failure, so we can fairly easily manage  
 # a quirktable here.  
 #  
 # We also allow calling ourselves externally with e.g.:  
 # make -f /sys/rump/Makefile.rump RUMP_SYMREN=ffs.kobj  
 #  
 .if ${MACHINE_CPU} == "mips"  
 _SYMQUIRK='|_gp_disp'  
 .elif ${MACHINE_CPU} == "hppa"  
 _SYMQUIRK='|\$$\$$'  
 .elif ${MACHINE_ARCH} == "powerpc64"  
 _SYMQUIRK="|PF_funcs"  
 .endif  
   
 #  WARNS?=         4
 # Prefix quirks.  At least one toolchain generates global  DBG=            -g -O0
 # symbols with prefixes which really need to remain as prefixes  
 # (i.e. the '.' on the front of some ppc64 globals).  The  
 # way to know if you have the problem is if you get later  
 # complaints about symbols like 'rumpns_XrumpBLAH' or 'XrumpBLAH';  
 # the 'X' part was added by the toolchain and will need to  
 # be mentioned here.  
 #  
 .if ${MACHINE_ARCH} == "powerpc64"  
 _PQ="\.?"  
 .else  
 _PQ=  
 .endif  
   
 rump_symren: __archivebuild  CPPFLAGS+=      -I${.CURDIR} -I.
 .if !defined(RUMP_SYMREN)  
         @echo "Must supply RUMP_SYMREN for target rump_symren"  
         @false  
 .endif  
   
 # if we are called from lib build (RUMP_SYMREN is not specified),  .if "${RUMPKERNEL}" != "no"
 # build the arrrrchive.  otherwise just rename symbols.  CFLAGS+=        -ffreestanding
 __archivebuild: .USE  CPPFLAGS:=      -I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
 .if defined(RUMP_SYMREN) && defined(RUMPTOP)  CPPFLAGS+=      -D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
         @echo "ERROR: RUMP_SYMREN can only be used standalone"  CPPFLAGS+=      -D_RUMPKERNEL -DDEBUG
         @false  CPPFLAGS+=      -nostdinc -I${NETBSDSRCDIR}/sys
 .endif  
 .if defined(RUMP_SYMREN)  
         ${_MKMSG} " symbol rename " ${RUMP_SYMREN}  
 .else  
         ${_MKTARGET_BUILD}  
         rm -f ${.TARGET}  
         ${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`  
 .endif  
         ${NM} -go ${RUMP_SYMREN:U${.TARGET}} | ${TOOL_AWK} '    \  
             $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \  
               {s = $$NF; sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}' \  
             | sort | uniq  > renametab.${.TARGET}  
         ${OBJCOPY} --preserve-dates --redefine-syms \  
             renametab.${.TARGET} ${RUMP_SYMREN:U${.TARGET}}  
         rm -f renametab.${.TARGET}  
 .if !defined(RUMP_SYMREN)  
         ${AR} ${_ARRANFL} ${.TARGET}  
 .endif  .endif
   
 _BSD_IOCONF_MK_USER_=1  LDFLAGS+=       -Wl,--wrap=malloc
 .include <bsd.ioconf.mk>  
   
 .-include "${NETBSDSRCDIR}/sys/arch/${MACHINE_CPU}/include/Makefile.inc"  LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
 .-include "${NETBSDSRCDIR}/sys/arch/${MACHINE}/include/Makefile.inc"  

Legend:
Removed from v.1.6.10.5  
changed lines
  Added in v.1.7

CVSweb <webmaster@jp.NetBSD.org>