version 1.303, 2010/01/25 00:43:00 |
version 1.305, 2010/03/02 20:49:18 |
Line 61 DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so |
|
Line 61 DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so |
|
.endif # } |
.endif # } |
|
|
##### Build and install rules |
##### Build and install rules |
MKDEP_SUFFIXES?= .o .po .so .go .ln |
MKDEP_SUFFIXES?= .o .po .pico .go .ln |
|
|
# Use purely kernel private headers in rump builds |
# Use purely kernel private headers in rump builds |
.if !defined(RUMPKERNEL) |
.if !defined(RUMPKERNEL) |
Line 130 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
Line 130 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
|
|
# add additional suffixes not exported. |
# add additional suffixes not exported. |
# .po is used for profiling object files. |
# .po is used for profiling object files. |
# .so is used for PIC object files. |
# .pico is used for PIC object files. |
.SUFFIXES: .out .a .ln .so .po .go .o .s .S .c .cc .cpp .cxx .C .m .F .f .r .y .l .cl .p .h |
.SUFFIXES: .out .a .ln .pico .po .go .o .s .S .c .cc .cpp .cxx .C .m .F .f .r .y .l .cl .p .h |
.SUFFIXES: .sh .m4 .m |
.SUFFIXES: .sh .m4 .m |
|
|
|
|
Line 151 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
Line 151 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
# with ELF, also set shared-lib version for ld.so. |
# with ELF, also set shared-lib version for ld.so. |
# SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors |
# SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors |
# SHLIB_LDENDFILE: support .o file, call C++ file-level destructors |
# SHLIB_LDENDFILE: support .o file, call C++ file-level destructors |
# FPICFLAGS: flags for ${FC} to compile .[fF] files to .so objects. |
# FPICFLAGS: flags for ${FC} to compile .[fF] files to .pico objects. |
# CPPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} |
# CPPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} |
# CPICFLAGS: flags for ${CC} to compile .[cC] files to pic objects. |
# CPICFLAGS: flags for ${CC} to compile .[cC] files to pic objects. |
# CSHLIBFLAGS: flags for ${CC} to compile .[cC] files to .so objects. |
# CSHLIBFLAGS: flags for ${CC} to compile .[cC] files to .pico objects. |
# (usually includes ${CPICFLAGS}) |
# (usually includes ${CPICFLAGS}) |
# CAPICFLAGS: flags for ${CC} to compiling .[Ss] files |
# CAPICFLAGS: flags for ${CC} to compiling .[Ss] files |
# (usually just ${CPPPICFLAGS} ${CPICFLAGS}) |
# (usually just ${CPPPICFLAGS} ${CPICFLAGS}) |
# APICFLAGS: flags for ${AS} to assemble .[sS] to .so objects. |
# APICFLAGS: flags for ${AS} to assemble .[sS] to .pico objects. |
|
|
.if ${MACHINE_ARCH} == "alpha" # { |
.if ${MACHINE_ARCH} == "alpha" # { |
|
|
Line 216 OBJCFLAGS+= ${OBJCOPTS} |
|
Line 216 OBJCFLAGS+= ${OBJCOPTS} |
|
AFLAGS+= ${COPTS} |
AFLAGS+= ${COPTS} |
FFLAGS+= ${FOPTS} |
FFLAGS+= ${FOPTS} |
|
|
|
.if defined(CTFCONVERT) |
|
.if defined(CFLAGS) && !empty(CFLAGS:M*-g*) |
|
CTFFLAGS+= -g |
|
.endif |
|
.endif |
|
|
.c.o: |
.c.o: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
.endif |
.endif |
Line 226 FFLAGS+= ${FOPTS} |
|
Line 235 FFLAGS+= ${FOPTS} |
|
.c.po: |
.c.po: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET} |
${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
.endif |
.endif |
Line 234 FFLAGS+= ${FOPTS} |
|
Line 246 FFLAGS+= ${FOPTS} |
|
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.c} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} |
${COMPILE.c} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} |
|
|
.c.so: |
.c.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
Line 259 FFLAGS+= ${FOPTS} |
|
Line 271 FFLAGS+= ${FOPTS} |
|
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.cc} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} |
${COMPILE.cc} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET} |
|
|
.cc.so .cpp.so .cxx.so .C.so: |
.cc.pico .cpp.pico .cxx.pico .C.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) |
Line 269 FFLAGS+= ${FOPTS} |
|
Line 281 FFLAGS+= ${FOPTS} |
|
.f.o: |
.f.o: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.f} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.f} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
.endif |
.endif |
Line 276 FFLAGS+= ${FOPTS} |
|
Line 291 FFLAGS+= ${FOPTS} |
|
.f.po: |
.f.po: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.f} ${PROFFLAGS} -pg ${.IMPSRC} -o ${.TARGET} |
${COMPILE.f} ${PROFFLAGS} -pg ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
.endif |
.endif |
Line 284 FFLAGS+= ${FOPTS} |
|
Line 302 FFLAGS+= ${FOPTS} |
|
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.f} ${DEBUGFLAGS} -g ${.IMPSRC} -o ${.TARGET} |
${COMPILE.f} ${DEBUGFLAGS} -g ${.IMPSRC} -o ${.TARGET} |
|
|
.f.so: |
.f.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
.if !defined(FOPTS) || empty(FOPTS:M*-g*) |
Line 298 FFLAGS+= ${FOPTS} |
|
Line 316 FFLAGS+= ${FOPTS} |
|
.m.o: |
.m.o: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
.endif |
.endif |
Line 305 FFLAGS+= ${FOPTS} |
|
Line 326 FFLAGS+= ${FOPTS} |
|
.m.po: |
.m.po: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.m} ${PROFFLAGS} -pg ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.m} ${PROFFLAGS} -pg ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
.endif |
.endif |
Line 316 FFLAGS+= ${FOPTS} |
|
Line 340 FFLAGS+= ${FOPTS} |
|
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
.endif |
.endif |
|
|
.m.so: |
.m.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.m} ${CSHLIBFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.m} ${CSHLIBFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) |
Line 326 FFLAGS+= ${FOPTS} |
|
Line 350 FFLAGS+= ${FOPTS} |
|
.s.o: |
.s.o: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
|
|
.S.o: |
.S.o: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
|
|
.s.po: |
.s.po: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
|
|
.S.po: |
.S.po: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
.if defined(CTFCONVERT) |
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET} |
|
.endif |
${OBJCOPY} -X ${.TARGET} |
${OBJCOPY} -X ${.TARGET} |
|
|
.s.go: |
.s.go: |
Line 351 FFLAGS+= ${FOPTS} |
|
Line 387 FFLAGS+= ${FOPTS} |
|
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.S} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.S} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
|
|
.s.so: |
.s.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.s} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.s} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
|
|
.S.so: |
.S.pico: |
${_MKTARGET_COMPILE} |
${_MKTARGET_COMPILE} |
${COMPILE.S} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.S} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
${OBJCOPY} -x ${.TARGET} |
Line 399 PROFFLAGS?=-DGPROF -DPROF |
|
Line 435 PROFFLAGS?=-DGPROF -DPROF |
|
# since it's needed for making shared lib. |
# since it's needed for making shared lib. |
# but don't install it. |
# but don't install it. |
SOLIB=lib${LIB}_pic.a |
SOLIB=lib${LIB}_pic.a |
SOBJS+=${OBJS:.o=.so} |
SOBJS+=${OBJS:.o=.pico} |
.else |
.else |
SOLIB=lib${LIB}.a |
SOLIB=lib${LIB}.a |
.endif |
.endif |
.else |
.else |
SOLIB=lib${LIB}_pic.a |
SOLIB=lib${LIB}_pic.a |
_LIBS+=${SOLIB} |
_LIBS+=${SOLIB} |
SOBJS+=${OBJS:.o=.so} |
SOBJS+=${OBJS:.o=.pico} |
.endif |
.endif |
.if defined(SHLIB_FULLVERSION) |
.if defined(SHLIB_FULLVERSION) |
_LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION} |
_LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION} |