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

Annotation of src/sys/rump/Makefile.rump, Revision 1.44

1.44    ! pooka       1: #      $NetBSD: Makefile.rump,v 1.43 2009/11/20 12:24:17 pooka Exp $
1.1       pooka       2: #
                      3:
1.33      lukem       4: WARNS?=                3       # XXX: src/sys won't compile with -Wsign-compare yet
1.10      pooka       5: NOLINT=                # kernel code
1.1       pooka       6:
1.20      pooka       7: .include <bsd.own.mk>
                      8:
1.18      pooka       9: # use kernel ABI instead of rump ABI (needs md code)
1.31      he         10: .ifndef RUMPKMOD
1.18      pooka      11: CPPFLAGS:=     -I${RUMPTOP}/include ${CPPFLAGS}
                     12: .endif
                     13:
1.22      pooka      14: CFLAGS+=       -ffreestanding -fno-strict-aliasing
1.40      pooka      15: CWARNFLAGS+=   -Wno-format-zero-length
1.32      pooka      16: CPPFLAGS+=     -D_RUMPKERNEL
1.23      pooka      17: CPPFLAGS+=     -D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR
1.21      pooka      18: CPPFLAGS+=     -DMAXUSERS=32
1.17      pooka      19: CPPFLAGS+=     -DDIAGNOSTIC
1.32      pooka      20: CPPFLAGS+=     -DCOMPAT_50
1.38      pooka      21: CPPFLAGS+=     -DDEBUGPRINT
1.15      pooka      22: CPPFLAGS+=     -I${.CURDIR} -I.
1.14      pooka      23: CPPFLAGS+=     -I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch
1.18      pooka      24: CPPFLAGS+=     -I${RUMPTOP}/include
1.21      pooka      25: CPPFLAGS+=     -I${RUMPTOP}/librump/rumpkern/opt
1.10      pooka      26: CPPFLAGS+=     -nostdinc -I${RUMPTOP}/..
                     27: #CPPFLAGS+=    -DDEBUG
1.1       pooka      28:
1.42      pooka      29: # kernel libs should not get linked against libc
1.43      pooka      30: # XXX: actually, we would like to enable this but cannot, since it
                     31: # also leaves out libgcc, it causes problems on some platforms.
                     32: # revisit some day.
                     33: #LDFLAGS+=     -nodefaultlibs
1.42      pooka      34:
1.39      pooka      35: # make sure __NetBSD__ gets defined (for builds on non-NetBSD)
                     36: CPPFLAGS+=     -D__NetBSD__
                     37:
1.11      pooka      38: RUMPKERNEL=    This is NetBSD and I am the rump.  Good evening.
                     39:
1.13      pooka      40: # workaround: evbppc is not a well-defined arch
                     41: .if (${MACHINE} == "evbppc")
1.16      pooka      42: CPPFLAGS+=     -DPPC_OEA
1.13      pooka      43: .endif
                     44:
1.25      pooka      45: # If this file changes, we need a full rebuild
                     46: DPSRCS+=       ${RUMPTOP}/Makefile.rump
1.24      pooka      47:
1.41      pooka      48: .ifdef RUMP_ISMODULE
                     49: .PATH:         ${RUMPTOP}/librump
                     50: SRCS+=         rump_module.c
                     51: .endif
                     52: .ifdef RUMP_ISDOMAIN
                     53: .PATH:         ${RUMPTOP}/librump
                     54: SRCS+=         rump_domain.c
                     55: .endif
                     56:
1.24      pooka      57: #
                     58: # Rename library symbols before use.  If a symbol does not already belong
                     59: # to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This
                     60: # avoids accidentally linking any kernel symbol against host platform
                     61: # libraries.  The only non-renamed symbols are linkset delimiters and
                     62: # the GOT, which are more a property of the compiler than the kernel.
                     63: #
1.29      pooka      64: # Some toolchains generate unresolved symbols which are supposed to be
                     65: # satisfied by the toolchain itself when the program is linked.
                     66: # Unfortunately, we do not know which of the symbols are generated by
                     67: # the toolchain.  Worse, they vary from platform to platform and
                     68: # toolchain to toolchain.  The good news, however, is that this will
                     69: # be detected by a compile-time failure, so we can fairly easily manage
                     70: # a quirktable here.
                     71: .if ${MACHINE_CPU} == "mips"
                     72: _SYMQUIRK='|_gp_disp'
                     73: .elif ${MACHINE_CPU} == "hppa"
                     74: _SYMQUIRK='|\$$\$$'
                     75: .endif
1.24      pooka      76: __archivebuild: .USE
                     77:        ${_MKTARGET_BUILD}
                     78:        rm -f ${.TARGET}
1.34      pooka      79:        ${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
1.24      pooka      80:        ${NM} -go ${.TARGET} | ${TOOL_AWK} '    \
1.29      pooka      81:            $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
1.24      pooka      82:              {printf "%s rumpns_%s\n", $$NF, $$NF}' \
                     83:            | sort | uniq  > renametab.${.TARGET}
1.37      pooka      84:        ${OBJCOPY} --preserve-dates --redefine-syms \
                     85:            renametab.${.TARGET} ${.TARGET}
1.24      pooka      86:        rm -f renametab.${.TARGET}
1.36      perry      87:        ${AR} ${_ARRANFL} ${.TARGET}
1.44    ! pooka      88:
        !            89: .-include "${NETBSDSRCDIR}/sys/arch/${MACHINE_CPU}/include/Makefile.inc"
        !            90: .-include "${NETBSDSRCDIR}/sys/arch/${MACHINE}/include/Makefile.inc"

CVSweb <webmaster@jp.NetBSD.org>