version 1.204, 2002/07/01 19:29:31 |
version 1.205, 2002/07/20 08:50:10 |
Line 87 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
Line 87 SHLIB_FULLVERSION=${SHLIB_MAJOR} |
|
# 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 .so objects. |
# CPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} |
# CPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} |
# CPICFLAGS: flags for ${CC} to compile .[cC] files to .so objects. |
# CPICFLAGS: flags for ${CC} to compile .[cC] files to pic objects. |
# CAPICFLAGS flags for {$CC} to compiling .[Ss] files |
# CSHLIBFLAGS: flags for ${CC} to compile .[cC] files to .so objects. |
|
# (usually includes ${CPICFLAGS}) |
|
# 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 .so objects. |
|
|
|
|
|
|
MKPICLIB?= yes |
MKPICLIB?= yes |
|
|
|
.if ${MKPICLIB} != "no" |
|
CSHLIBFLAGS+= ${CPICFLAGS} |
|
.endif |
|
|
|
.if defined(CSHLIBFLAGS) && !empty(CSHLIBFLAGS) |
|
MKSHLIBOBJS= yes |
|
.else |
|
MKSHLIBOBJS= no |
|
.endif |
|
|
# Platform-independent linker flags for ELF shared libraries |
# Platform-independent linker flags for ELF shared libraries |
.if ${OBJECT_FMT} == "ELF" |
.if ${OBJECT_FMT} == "ELF" |
SHLIB_SOVERSION= ${SHLIB_MAJOR} |
SHLIB_SOVERSION= ${SHLIB_MAJOR} |
Line 183 FFLAGS+= ${FOPTS} |
|
Line 195 FFLAGS+= ${FOPTS} |
|
|
|
.c.so: |
.c.so: |
.if defined(COPTS) && !empty(COPTS:M*-g*) |
.if defined(COPTS) && !empty(COPTS:M*-g*) |
${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.c} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
.else |
.else |
@echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
@echo ${COMPILE.c:Q} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
@${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${COMPILE.c} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@rm -f ${.TARGET}.o |
@rm -f ${.TARGET}.o |
.endif |
.endif |
Line 216 FFLAGS+= ${FOPTS} |
|
Line 228 FFLAGS+= ${FOPTS} |
|
|
|
.cc.so .C.so: |
.cc.so .C.so: |
.if defined(COPTS) && !empty(COPTS:M*-g*) |
.if defined(COPTS) && !empty(COPTS:M*-g*) |
${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.cc} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
.else |
.else |
@echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
@echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
@${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${COMPILE.cc} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@rm -f ${.TARGET}.o |
@rm -f ${.TARGET}.o |
.endif |
.endif |
Line 279 FFLAGS+= ${FOPTS} |
|
Line 291 FFLAGS+= ${FOPTS} |
|
|
|
.m.so: |
.m.so: |
.if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*) |
.if defined(OBJCFLAGS) && !empty(OBJCFLAGS:M*-g*) |
${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
${COMPILE.m} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} |
.else |
.else |
@echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
@echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} |
@${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${COMPILE.m} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.o |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@${LD} -x -r ${.TARGET}.o -o ${.TARGET} |
@rm -f ${.TARGET}.o |
@rm -f ${.TARGET}.o |
.endif |
.endif |
Line 321 POBJS+=${OBJS:.o=.po} |
|
Line 333 POBJS+=${OBJS:.o=.po} |
|
|
|
.if ${MKPIC} != "no" |
.if ${MKPIC} != "no" |
.if ${MKPICLIB} == "no" |
.if ${MKPICLIB} == "no" |
|
.if ${MKSHLIBOBJS} != "no" |
|
# make _pic.a, which isn't really pic, |
|
# since it's needed for making shared lib. |
|
# but don't install it. |
|
SOLIB=lib${LIB}_pic.a |
|
SOBJS+=${OBJS:.o=.so} |
|
.else |
SOLIB=lib${LIB}.a |
SOLIB=lib${LIB}.a |
|
.endif |
.else |
.else |
SOLIB=lib${LIB}_pic.a |
SOLIB=lib${LIB}_pic.a |
_LIBS+=${SOLIB} |
_LIBS+=${SOLIB} |