2013-12-06 12:04:52 +01:00
|
|
|
# $NetBSD: bsd.lib.mk,v 1.342 2013/10/18 16:06:52 christos Exp $
|
2010-02-16 15:41:33 +01:00
|
|
|
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
|
|
|
|
|
2010-06-25 20:29:09 +02:00
|
|
|
.include <bsd.init.mk>
|
2012-03-31 02:28:03 +02:00
|
|
|
.include <bsd.shlib.mk>
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.include <bsd.gcc.mk>
|
2010-06-25 20:29:09 +02:00
|
|
|
# Pull in <bsd.sys.mk> here so we can override its .c.o rule
|
|
|
|
.include <bsd.sys.mk>
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
LIBISMODULE?= no
|
2010-03-22 22:25:22 +01:00
|
|
|
LIBISPRIVATE?= no
|
2012-02-16 02:48:46 +01:00
|
|
|
LIBISCXX?= no
|
|
|
|
|
|
|
|
.if ${LIBISMODULE} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIB_PREFIX?= # empty
|
2012-02-16 02:48:46 +01:00
|
|
|
MKDEBUGLIB:= no
|
|
|
|
MKLINT:= no
|
|
|
|
MKPICINSTALL:= no
|
|
|
|
MKPROFILE:= no
|
|
|
|
MKSTATICLIB:= no
|
2013-12-06 12:04:52 +01:00
|
|
|
.else
|
|
|
|
_LIB_PREFIX?= lib
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-03-22 22:25:22 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${LIBISPRIVATE} != "no"
|
|
|
|
MKDEBUGLIB:= no
|
|
|
|
MKLINT:= no
|
|
|
|
MKPICINSTALL:= no
|
|
|
|
. if defined(NOSTATICLIB) && ${MKPICLIB} != "no"
|
|
|
|
MKSTATICLIB:= no
|
|
|
|
. else
|
|
|
|
MKPIC:= no
|
|
|
|
. endif
|
|
|
|
MKPROFILE:= no
|
|
|
|
.endif
|
2010-05-13 15:26:27 +02:00
|
|
|
|
2010-02-16 15:41:33 +01:00
|
|
|
##### Basic targets
|
2012-02-16 02:48:46 +01:00
|
|
|
.PHONY: checkver libinstall
|
|
|
|
realinstall: checkver libinstall
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
##### LIB specific flags.
|
2012-02-16 02:48:46 +01:00
|
|
|
# XXX: This is needed for programs that link with .a libraries
|
|
|
|
# Perhaps a more correct solution is to always generate _pic.a
|
|
|
|
# files or always have a shared library.
|
|
|
|
.if defined(MKPIE) && (${MKPIE} != "no")
|
|
|
|
CFLAGS+= ${PIE_CFLAGS}
|
|
|
|
AFLAGS+= ${PIE_AFLAGS}
|
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
##### Libraries that this may depend upon.
|
|
|
|
.if defined(LIBDPLIBS) && ${MKPIC} != "no" # {
|
|
|
|
.for _lib _dir in ${LIBDPLIBS}
|
|
|
|
.if !defined(LIBDO.${_lib})
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
LIBDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR}
|
2010-02-16 15:41:33 +01:00
|
|
|
.MAKEOVERRIDES+=LIBDO.${_lib}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if ${LIBDO.${_lib}} == "_external"
|
|
|
|
LDADD+= -l${_lib}
|
|
|
|
.else
|
2010-02-16 15:41:33 +01:00
|
|
|
LDADD+= -L${LIBDO.${_lib}} -l${_lib}
|
2013-12-06 12:04:52 +01:00
|
|
|
DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so # Don't use _LIB_PREFIX
|
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
.endfor
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
##### Build and install rules
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
MKDEP_SUFFIXES?= .o .po .pico .go .ln
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if !defined(SHLIB_MAJOR) && exists(${SHLIB_VERSION_FILE}) # {
|
|
|
|
SHLIB_MAJOR != . ${SHLIB_VERSION_FILE} ; echo $$major
|
|
|
|
SHLIB_MINOR != . ${SHLIB_VERSION_FILE} ; echo $$minor
|
|
|
|
SHLIB_TEENY != . ${SHLIB_VERSION_FILE} ; echo $$teeny
|
|
|
|
|
|
|
|
DPADD+= ${SHLIB_VERSION_FILE}
|
|
|
|
|
|
|
|
# Check for higher installed library versions.
|
|
|
|
.if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \
|
|
|
|
exists(${NETBSDSRCDIR}/lib/checkver)
|
|
|
|
checkver:
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
@(cd "${.CURDIR}" && \
|
2012-02-16 02:48:46 +01:00
|
|
|
HOST_SH=${HOST_SH:Q} AWK=${TOOL_AWK:Q} \
|
|
|
|
${HOST_SH} ${NETBSDSRCDIR}/lib/checkver -v ${SHLIB_VERSION_FILE} \
|
2013-12-06 12:04:52 +01:00
|
|
|
-d ${_DEST.OBJ} ${LIB})
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
.if !target(checkver)
|
|
|
|
checkver:
|
|
|
|
.endif
|
|
|
|
|
|
|
|
print-shlib-major:
|
|
|
|
.if defined(SHLIB_MAJOR) && ${MKPIC} != "no"
|
|
|
|
@echo ${SHLIB_MAJOR}
|
|
|
|
.else
|
|
|
|
@false
|
|
|
|
.endif
|
|
|
|
|
|
|
|
print-shlib-minor:
|
|
|
|
.if defined(SHLIB_MINOR) && ${MKPIC} != "no"
|
|
|
|
@echo ${SHLIB_MINOR}
|
|
|
|
.else
|
|
|
|
@false
|
|
|
|
.endif
|
|
|
|
|
|
|
|
print-shlib-teeny:
|
|
|
|
.if defined(SHLIB_TEENY) && ${MKPIC} != "no"
|
|
|
|
@echo ${SHLIB_TEENY}
|
|
|
|
.else
|
|
|
|
@false
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(SHLIB_MAJOR) && !empty(SHLIB_MAJOR) # {
|
|
|
|
.if defined(SHLIB_MINOR) && !empty(SHLIB_MINOR)
|
|
|
|
.if defined(SHLIB_TEENY) && !empty(SHLIB_TEENY)
|
|
|
|
SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.${SHLIB_TEENY}
|
|
|
|
.else
|
|
|
|
SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
.endif
|
|
|
|
.else
|
|
|
|
SHLIB_FULLVERSION=${SHLIB_MAJOR}
|
|
|
|
.endif
|
|
|
|
.endif # }
|
|
|
|
|
2010-02-16 15:41:33 +01:00
|
|
|
# add additional suffixes not exported.
|
|
|
|
# .po is used for profiling object files.
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
# .pico is used for PIC object files.
|
|
|
|
.SUFFIXES: .out .a .ln .pico .po .go .o .s .S .c .cc .cpp .cxx .C .m .F .f .r .y .l .cl .p .h
|
2012-02-16 02:48:46 +01:00
|
|
|
.SUFFIXES: .sh .m4 .m
|
|
|
|
|
|
|
|
|
|
|
|
# Set PICFLAGS to cc flags for producing position-independent code,
|
2013-12-06 12:04:52 +01:00
|
|
|
# if not already set.
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
# Data-driven table using make variables to control how shared libraries
|
|
|
|
# are built for different platforms and object formats.
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
# SHLIB_MAJOR, SHLIB_MINOR, SHLIB_TEENY: Major, minor, and teeny version
|
|
|
|
# numbers of shared library
|
2012-02-16 02:48:46 +01:00
|
|
|
# SHLIB_SOVERSION: version number to be compiled into a shared library
|
|
|
|
# via -soname. Usualy ${SHLIB_MAJOR} on ELF.
|
|
|
|
# NetBSD/pmax used to use ${SHLIB_MAJOR}[.${SHLIB_MINOR}
|
|
|
|
# [.${SHLIB_TEENY}]]
|
|
|
|
# SHLIB_SHFLAGS: Flags to tell ${LD} to emit shared library.
|
|
|
|
# with ELF, also set shared-lib version for ld.so.
|
|
|
|
# SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors
|
|
|
|
# SHLIB_LDENDFILE: support .o file, call C++ file-level destructors
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
PICFLAGS ?= -fPIC
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKPICLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
CSHLIBFLAGS+= ${PICFLAGS}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(CSHLIBFLAGS) && !empty(CSHLIBFLAGS)
|
|
|
|
MKSHLIBOBJS= yes
|
|
|
|
.else
|
|
|
|
MKSHLIBOBJS= no
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.if (defined(MKDEBUG) && (${MKDEBUG} != "no")) || \
|
|
|
|
(defined(CFLAGS) && !empty(CFLAGS:M*-g*))
|
|
|
|
# We only add -g to the shared library objects
|
|
|
|
# because we don't currently split .a archives.
|
|
|
|
CSHLIBFLAGS+= -g
|
|
|
|
.if ${LIBISPRIVATE} == "yes"
|
|
|
|
CFLAGS+= -g
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
# Platform-independent linker flags for ELF shared libraries
|
|
|
|
SHLIB_SOVERSION= ${SHLIB_MAJOR}
|
2013-12-06 12:04:52 +01:00
|
|
|
SHLIB_SHFLAGS= -Wl,-soname,${_LIB}.so.${SHLIB_SOVERSION}
|
2012-02-16 02:48:46 +01:00
|
|
|
SHLIB_SHFLAGS+= -Wl,--warn-shared-textrel
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(SHLIB_MKMAP) || ${SHLIB_MKMAP} != "no"
|
|
|
|
SHLIB_SHFLAGS+= -Wl,-Map=${_LIB}.so.${SHLIB_SOVERSION}.map
|
|
|
|
.endif
|
|
|
|
CLEANFILES+= ${_LIB}.so.${SHLIB_SOVERSION}.map
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
SHLIB_LDSTARTFILE?= ${_GCC_CRTI} ${_GCC_CRTBEGINS}
|
|
|
|
SHLIB_LDENDFILE?= ${_GCC_CRTENDS} ${_GCC_CRTN}
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
CFLAGS+= ${COPTS}
|
|
|
|
OBJCFLAGS+= ${OBJCOPTS}
|
|
|
|
AFLAGS+= ${COPTS}
|
|
|
|
FFLAGS+= ${FOPTS}
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
.if defined(CFLAGS) && !empty(CFLAGS:M*-g*)
|
|
|
|
CTFFLAGS+= -g
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
LIBSTRIPAOBJS= yes
|
|
|
|
.if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
|
|
|
|
LIBSTRIPCOBJS= yes
|
|
|
|
.endif
|
|
|
|
.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*)
|
|
|
|
LIBSTRIPOBJCOBJS= yes
|
|
|
|
.endif
|
|
|
|
.if !defined(FFLAGS) || empty(FFLAGS:M*-g*)
|
|
|
|
LIBSTRIPFOBJS= yes
|
|
|
|
.endif
|
|
|
|
.if !defined(CSHLIBFLAGS) || empty(CSHLIBFLAGS:M*-g*)
|
|
|
|
LIBSTRIPSHLIBOBJS= yes
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes"
|
2013-12-06 16:46:30 +01:00
|
|
|
SHLIB_SHFLAGS+= -L ${DESTDIR}/usr/lib
|
|
|
|
SHLIB_SHFLAGS+= -Wl,-plugin=${GOLD_PLUGIN} \
|
|
|
|
-Wl,-plugin-opt=-disable-opt
|
2013-12-06 12:04:52 +01:00
|
|
|
|
2013-06-17 16:51:49 +02:00
|
|
|
.S.bc: ${.TARGET:.bc=.o}
|
|
|
|
rm -f ${.TARGET}
|
|
|
|
ln ${.TARGET:.bc=.o} ${.TARGET}
|
|
|
|
.c.bc:
|
|
|
|
${_MKTARGET_COMPILE}
|
2013-12-06 16:46:30 +01:00
|
|
|
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} -flto
|
|
|
|
|
|
|
|
.cc.bc .cxx.bc .cpp.bc:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} -flto
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif # defined(__MINIX) && ${USE_BITCODE:Uno} == "yes"
|
2010-02-16 15:41:33 +01:00
|
|
|
.c.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.c.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.c.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.c} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET}
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.c.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPSHLIBOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
.cc.o .cpp.o .cxx.o .C.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.cc.po .cpp.po .cxx.po .C.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.cc.go .cpp.go .cxx.go .C.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.cc} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -g ${.IMPSRC} -o ${.TARGET}
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.cc.pico .cpp.pico .cxx.pico .C.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPSHLIBOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.f.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.f} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPFOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.f.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.f} ${PROFFLAGS} -pg ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPFOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.f.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.f} ${DEBUGFLAGS} -g ${.IMPSRC} -o ${.TARGET}
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.f.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
2013-12-06 12:04:52 +01:00
|
|
|
${COMPILE.f} ${PICFLAGS} ${.IMPSRC} -o ${.TARGET}
|
|
|
|
.if defined(LIBSTRIPFOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.f.ln:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
@echo Skipping lint for Fortran libraries.
|
|
|
|
|
|
|
|
.m.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPOBJCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.m.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.m} ${PROFFLAGS} -pg ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPOBJCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.m.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.m} ${DEBUGFLAGS} -g ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPOBJCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.m.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.m} ${CSHLIBFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPOBJCOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
.s.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
.S.o:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.s.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.S.po:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if defined(CTFCONVERT)
|
|
|
|
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.s.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.s} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
|
|
|
|
|
|
|
.S.go:
|
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.S} ${DEBUGFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.s.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
2013-12-06 12:04:52 +01:00
|
|
|
${COMPILE.s} ${PICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.S.pico:
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
2013-12-06 12:04:52 +01:00
|
|
|
${COMPILE.S} ${PICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
|
|
|
|
.if defined(LIBSTRIPAOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Declare a few variables to make our life easier later.
|
|
|
|
_LIB:=${_LIB_PREFIX}${LIB}
|
|
|
|
_LIB.a:=${_LIB}.a
|
|
|
|
_LIB_p.a:=${_LIB}_p.a
|
|
|
|
_LIB_g.a:=${_LIB}_g.a
|
|
|
|
_LIB_pic.a:=${_LIB}_pic.a
|
|
|
|
_LIB.ln:=llib-l${LIB}.ln
|
|
|
|
.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes"
|
|
|
|
_LIB_bc.a:=${_LIB}_bc.a
|
|
|
|
.endif # defined(__MINIX)
|
|
|
|
|
|
|
|
.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION)
|
|
|
|
_LIB.so:=${_LIB}.so
|
|
|
|
_LIB.so.major:=${_LIB}.so.${SHLIB_MAJOR}
|
|
|
|
_LIB.so.full:=${_LIB}.so.${SHLIB_FULLVERSION}
|
|
|
|
.if ${MKDEBUG} != "no"
|
|
|
|
_LIB.so.debug:=${_LIB.so.full}.debug
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
_DEST.LIB:=${DESTDIR}${LIBDIR}
|
|
|
|
_DEST.OBJ:=${DESTDIR}${_LIBSODIR}
|
|
|
|
_DEST.LINT:=${DESTDIR}${LINTLIBDIR}
|
|
|
|
_DEST.DEBUG:=${DESTDIR}${DEBUGDIR}${LIBDIR}
|
|
|
|
_DEST.ODEBUG:=${DESTDIR}${DEBUGDIR}${_LIBSODIR}
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
.if defined(LIB) # {
|
2012-02-16 02:48:46 +01:00
|
|
|
.if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
|
|
|
|
|| ${MKLINKLIB} != "no") && ${MKSTATICLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS=${_LIB.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
|
|
|
_LIBS=
|
2010-02-16 15:41:33 +01:00
|
|
|
.endif
|
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if ${LIBISPRIVATE} != "no" \
|
|
|
|
&& (defined(USE_COMBINE) && ${USE_COMBINE} == "yes" \
|
|
|
|
&& !defined(NOCOMBINE)) # {
|
|
|
|
.for f in ${SRCS:N*.h:N*.sh:C/\.[yl]$/.c/g}
|
|
|
|
COMBINEFLAGS.${LIB}.$f := ${CPPFLAGS.$f:D1} ${CPUFLAGS.$f:D2} ${COPTS.$f:D3} ${OBJCOPTS.$f:D4} ${CXXFLAGS.$f:D5}
|
|
|
|
.if empty(COMBINEFLAGS.${LIB}.${f}) && !defined(NOCOMBINE.$f)
|
|
|
|
COMBINESRCS+= ${f}
|
|
|
|
NODPSRCS+= ${f}
|
|
|
|
.else
|
|
|
|
OBJS+= ${f:R:S/$/.o/}
|
|
|
|
.endif
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
.if !empty(COMBINESRCS)
|
2013-12-06 12:04:52 +01:00
|
|
|
OBJS+= ${_LIB}_combine.o
|
|
|
|
${_LIB}_combine.o: ${COMBINESRCS}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${_MKTARGET_COMPILE}
|
|
|
|
${COMPILE.c} -MD --combine ${.ALLSRC} -o ${.TARGET}
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(LIBSTRIPOBJS)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${OBJCOPY} -x ${.TARGET}
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
CLEANFILES+= ${_LIB}_combine.d
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.if exists("${_LIB}_combine.d")
|
|
|
|
.include "${_LIB}_combine.d"
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
|
|
|
.endif # empty(XSRCS.${LIB})
|
|
|
|
.else # } {
|
2010-02-16 15:41:33 +01:00
|
|
|
OBJS+=${SRCS:N*.h:N*.sh:R:S/$/.o/g}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif # }
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
STOBJS+=${OBJS}
|
|
|
|
|
|
|
|
LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
|
|
|
|
|
2010-03-22 22:25:22 +01:00
|
|
|
.if ${LIBISPRIVATE} != "no"
|
|
|
|
# No installation is required
|
|
|
|
libinstall::
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
2010-03-22 22:25:22 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKDEBUGLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS+=${_LIB_g.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
GOBJS+=${OBJS:.o=.go}
|
|
|
|
DEBUGFLAGS?=-DDEBUG
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MKPROFILE} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS+=${_LIB_p.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
POBJS+=${OBJS:.o=.po}
|
|
|
|
PROFFLAGS?=-DGPROF -DPROF
|
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKPIC} != "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.
|
2013-12-06 12:04:52 +01:00
|
|
|
SOLIB=${_LIB_pic.a}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
SOBJS+=${OBJS:.o=.pico}
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
SOLIB=${_LIB.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
SOLIB=${_LIB_pic.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
_LIBS+=${SOLIB}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
SOBJS+=${OBJS:.o=.pico}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.if defined(SHLIB_FULLVERSION)
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS+=${_LIB.so.full}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
.if ${MKLINT} != "no" && !empty(LOBJS)
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS+=${_LIB.ln}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
ALLOBJS=
|
|
|
|
.if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
|
|
|
|
|| ${MKLINKLIB} != "no") && ${MKSTATICLIB} != "no"
|
2010-02-16 15:41:33 +01:00
|
|
|
ALLOBJS+=${STOBJS}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
ALLOBJS+=${POBJS} ${SOBJS}
|
|
|
|
.if ${MKLINT} != "no" && !empty(LOBJS)
|
|
|
|
ALLOBJS+=${LOBJS}
|
|
|
|
.endif
|
|
|
|
.else # !defined(LIB) # } {
|
|
|
|
LOBJS=
|
|
|
|
SOBJS=
|
|
|
|
.endif # !defined(LIB) # }
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
_YLSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
|
|
|
|
|
2013-06-17 16:51:49 +02:00
|
|
|
.if ${USE_BITCODE:Uno} == "yes"
|
2013-12-06 12:04:52 +01:00
|
|
|
_LIBS+=${_LIB_bc.a}
|
|
|
|
.endif # ${USE_BITCODE:Uno} == "yes"
|
2013-06-17 16:51:49 +02:00
|
|
|
|
2010-02-16 15:41:33 +01:00
|
|
|
.NOPATH: ${ALLOBJS} ${_LIBS} ${_YLSRCS}
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
realall: ${SRCS} ${ALLOBJS:O} ${_LIBS} ${_LIB.so.debug}
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
MKARZERO?=no
|
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKARZERO} == "yes"
|
|
|
|
_ARFL=crsD
|
|
|
|
_ARRANFL=sD
|
|
|
|
_INSTRANLIB=
|
|
|
|
.else
|
|
|
|
_ARFL=crs
|
|
|
|
_ARRANFL=s
|
2013-12-06 16:46:30 +01:00
|
|
|
.if ${USE_BITCODE:Uno} == "yes"
|
|
|
|
_INSTRANLIB=${empty(PRESERVE):?-a "${AR} --plugin ${GOLD_PLUGIN} -s":}
|
|
|
|
.else
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
_INSTRANLIB=${empty(PRESERVE):?-a "${RANLIB} -t":}
|
2013-12-06 16:46:30 +01:00
|
|
|
.endif # ${USE_BITCODE:Uno} == "yes"
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
# If you change this, please consider reflecting the change in
|
|
|
|
# the override in sys/rump/Makefile.rump.
|
|
|
|
.if !target(__archivebuild)
|
2010-02-16 15:41:33 +01:00
|
|
|
__archivebuild: .USE
|
|
|
|
${_MKTARGET_BUILD}
|
|
|
|
rm -f ${.TARGET}
|
2012-11-01 22:55:12 +01:00
|
|
|
${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if !target(__archiveinstall)
|
2010-02-16 15:41:33 +01:00
|
|
|
__archiveinstall: .USE
|
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
|
|
|
${_INSTRANLIB} ${.ALLSRC} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
__archivesymlinkpic: .USE
|
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_SYMLINK} ${.ALLSRC} ${.TARGET}
|
2010-02-16 15:41:33 +01:00
|
|
|
|
|
|
|
DPSRCS+= ${_YLSRCS}
|
|
|
|
CLEANFILES+= ${_YLSRCS}
|
|
|
|
|
|
|
|
${STOBJS} ${POBJS} ${GOBJS} ${SOBJS} ${LOBJS}: ${DPSRCS}
|
|
|
|
|
2013-06-17 16:51:49 +02:00
|
|
|
.if ${USE_BITCODE:Uno} == "yes"
|
2013-12-06 16:46:30 +01:00
|
|
|
|
|
|
|
.if !target(__archivebuildbc)
|
|
|
|
__archivebuildbc: .USE
|
2013-06-17 16:51:49 +02:00
|
|
|
${_MKTARGET_BUILD}
|
|
|
|
rm -f ${.TARGET}
|
2013-12-06 16:46:30 +01:00
|
|
|
${AR} ${_ARFL} --plugin ${GOLD_PLUGIN} ${.TARGET} ${.ALLSRC:M*bc}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# LSC: Ignore libunwind in the bitcode archive, otherwise final linking chokes
|
|
|
|
# on libunwind hidden assembly symbols.
|
|
|
|
BCOBJS+=${OBJS:Nlibunwind.*:.o=.bc}
|
|
|
|
ALLOBJS+=${BCOBJS}
|
|
|
|
${_LIB_bc.a}:: ${BCOBJS} __archivebuildbc
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.endif # ${USE_BITCODE:Uno} == "yes"
|
2013-06-17 16:51:49 +02:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB.a}:: ${STOBJS} __archivebuild
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB_p.a}:: ${POBJS} __archivebuild
|
2012-02-16 02:48:46 +01:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB_pic.a}:: ${SOBJS} __archivebuild
|
2012-02-16 02:48:46 +01:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB_g.a}:: ${GOBJS} __archivebuild
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
_LIBLDOPTS=
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if ${SHLIBDIR} != "/usr/lib"
|
|
|
|
_LIBLDOPTS+= -Wl,-rpath,${SHLIBDIR} \
|
|
|
|
-L=${SHLIBDIR}
|
|
|
|
.elif ${SHLIBINSTALLDIR} != "/usr/lib"
|
|
|
|
_LIBLDOPTS+= -Wl,-rpath-link,${DESTDIR}${SHLIBINSTALLDIR} \
|
|
|
|
-L=${SHLIBINSTALLDIR}
|
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
# gcc -shared now adds -lc automatically. For libraries other than libc and
|
|
|
|
# libgcc* we add as a dependency the installed shared libc. For libc and
|
|
|
|
# libgcc* we avoid adding libc as a dependency by using -nostdlib. Note that
|
|
|
|
# -Xl,-nostdlib is not enough because we want to tell the compiler-driver not
|
|
|
|
# to add standard libraries, not the linker.
|
|
|
|
.if !defined(LIB)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if !empty(LIBC_SO)
|
2012-02-16 02:48:46 +01:00
|
|
|
DPLIBC ?= ${DESTDIR}${LIBC_SO}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-04-24 18:57:59 +02:00
|
|
|
.if ${LIB} != "c" && ${LIB:Mgcc*} == "" \
|
2014-01-14 13:48:43 +01:00
|
|
|
&& ${LIB} != "minlib" && ${LIB} != "sys" && ${LIB} != "minc" && ${LIB} != "mthread" # Minix-specific libs
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.if !empty(LIBC_SO)
|
2012-02-16 02:48:46 +01:00
|
|
|
DPLIBC ?= ${DESTDIR}${LIBC_SO}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
|
|
|
LDLIBC ?= -nodefaultlibs
|
2013-12-06 12:04:52 +01:00
|
|
|
.if ${HAVE_LIBGCC} == "yes" && (${LIB} == "c" || ${LIB} == "minc")
|
|
|
|
.if !defined(__MINIX)
|
|
|
|
LDADD+= -lgcc
|
|
|
|
.else
|
|
|
|
LDADD+= ${${ACTIVE_CC} == "gcc":? -lgcc:}
|
|
|
|
.if ${MACHINE_ARCH} == "earm"
|
|
|
|
LDADD+= ${${ACTIVE_CC} == "gcc":? -lgcc_eh:}
|
|
|
|
.endif # ${MACHINE_ARCH} == "earm"
|
|
|
|
.endif # !defined(__MINIX)
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${LIBISCXX} != "no"
|
|
|
|
LIBCC:= ${CXX}
|
2013-12-06 12:04:52 +01:00
|
|
|
. if ${MKLIBCXX} == "yes"
|
|
|
|
LIBDPLIBS+= c++ ${.CURDIR}/../../../../../external/bsd/libc++/lib
|
|
|
|
. elif defined(HAVE_GCC) && ${HAVE_GCC} == 4
|
|
|
|
LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../gnu/lib/libstdc++-v3_4
|
|
|
|
. else
|
|
|
|
LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../external/gpl3/gcc/lib/libstdc++-v3
|
|
|
|
. endif
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
|
|
|
LIBCC:= ${CC}
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
_LDADD.${_LIB}= ${LDADD} ${LDADD.${_LIB}}
|
|
|
|
_LDFLAGS.${_LIB}= ${LDFLAGS} ${LDFLAGS.${_LIB}}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPLIBC} \
|
2012-02-16 02:48:46 +01:00
|
|
|
${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
|
|
|
|
${_MKTARGET_BUILD}
|
2013-12-06 12:04:52 +01:00
|
|
|
rm -f ${.TARGET}
|
|
|
|
${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} \
|
|
|
|
${_LDFLAGS.${_LIB}} -o ${.TARGET} ${_LIBLDOPTS} \
|
|
|
|
-Wl,--whole-archive ${SOLIB} \
|
|
|
|
-Wl,--no-whole-archive ${_LDADD.${_LIB}}
|
2012-02-16 02:48:46 +01:00
|
|
|
# We don't use INSTALL_SYMLINK here because this is just
|
|
|
|
# happening inside the build directory/objdir. XXX Why does
|
|
|
|
# this spend so much effort on libraries that aren't live??? XXX
|
|
|
|
.if defined(SHLIB_FULLVERSION) && defined(SHLIB_MAJOR) && \
|
|
|
|
"${SHLIB_FULLVERSION}" != "${SHLIB_MAJOR}"
|
2013-12-06 12:04:52 +01:00
|
|
|
${HOST_LN} -sf ${_LIB.so.full} ${_LIB.so.major}.tmp
|
|
|
|
mv -f ${_LIB.so.major}.tmp ${_LIB.so.major}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${HOST_LN} -sf ${_LIB.so.full} ${_LIB.so}.tmp
|
|
|
|
mv -f ${_LIB.so}.tmp ${_LIB.so}
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKSTRIPIDENT} != "no"
|
|
|
|
${OBJCOPY} -R .ident ${.TARGET}
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(_LIB.so.debug)
|
|
|
|
${_LIB.so.debug}: ${_LIB.so.full}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${_MKTARGET_CREATE}
|
2013-12-06 12:04:52 +01:00
|
|
|
( ${OBJCOPY} --only-keep-debug ${_LIB.so.full} ${_LIB.so.debug} \
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
&& ${OBJCOPY} --strip-debug -p -R .gnu_debuglink \
|
2013-12-06 12:04:52 +01:00
|
|
|
--add-gnu-debuglink=${_LIB.so.debug} ${_LIB.so.full} \
|
|
|
|
) || (rm -f ${.TARGET}; false)
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.endif
|
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if !empty(LOBJS) # {
|
|
|
|
LLIBS?= -lc
|
2013-12-06 12:04:52 +01:00
|
|
|
${_LIB.ln}: ${LOBJS}
|
2012-02-16 02:48:46 +01:00
|
|
|
${_MKTARGET_COMPILE}
|
2013-12-06 12:04:52 +01:00
|
|
|
rm -f ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.if defined(DESTDIR)
|
|
|
|
${LINT} -C${LIB} ${.ALLSRC} -L${DESTDIR}/usr/libdata ${LLIBS}
|
|
|
|
.else
|
|
|
|
${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}
|
|
|
|
.endif
|
|
|
|
.endif # }
|
|
|
|
|
|
|
|
lint: ${LOBJS}
|
|
|
|
.if defined(LOBJS) && !empty(LOBJS)
|
|
|
|
${LINT} ${LINTFLAGS} ${LOBJS}
|
|
|
|
.endif
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
# If the number of entries in CLEANFILES is too large, then the
|
|
|
|
# commands in bsd.clean.mk encounter errors like "exec(/bin/sh)
|
|
|
|
# failed (Argument list too long)". Avoid that by splitting the
|
|
|
|
# files to clean into several lists using different variable names.
|
|
|
|
# __cleanuse is an internal target in bsd.clean.mk; the way we
|
|
|
|
# use it here mimics the way it's used by the clean target in
|
|
|
|
# bsd.clean.mk.
|
|
|
|
#
|
2013-12-06 12:04:52 +01:00
|
|
|
clean: libclean1 libclean2 libclean3 libclean4 libclean5
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
libclean1: .PHONY .MADE __cleanuse LIBCLEANFILES1
|
|
|
|
libclean2: .PHONY .MADE __cleanuse LIBCLEANFILES2
|
|
|
|
libclean3: .PHONY .MADE __cleanuse LIBCLEANFILES3
|
|
|
|
libclean4: .PHONY .MADE __cleanuse LIBCLEANFILES4
|
|
|
|
libclean5: .PHONY .MADE __cleanuse LIBCLEANFILES5
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(__MINIX)
|
|
|
|
# MINIX: core conflicts with core/ in lib/liblwip
|
2013-02-06 17:11:03 +01:00
|
|
|
CLEANFILES+= a.out [Ee]rrs mklog *.core
|
2013-12-06 12:04:52 +01:00
|
|
|
.else
|
|
|
|
CLEANFILES+= a.out [Ee]rrs mklog core *.core
|
|
|
|
.endif # defined(__MINIX)
|
|
|
|
LIBCLEANFILES1+= ${_LIB.a} ${STOBJS} ${STOBJS:=.tmp}
|
|
|
|
LIBCLEANFILES2+= ${_LIB_p.a} ${POBJS} ${POBJS:=.tmp}
|
|
|
|
LIBCLEANFILES3+= ${_LIB_g.a} ${GOBJS} ${GOBJS:=.tmp}
|
|
|
|
LIBCLEANFILES4+= ${_LIB_pic.a}
|
|
|
|
.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION)
|
|
|
|
LIBCLEANFILES4+= ${_LIB.so}.* ${_LIB.so} ${_LIB.so.debug}
|
2013-02-06 17:11:03 +01:00
|
|
|
.endif
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
LIBCLEANFILES4+= ${SOBJS} ${SOBJS:=.tmp}
|
2013-12-06 12:04:52 +01:00
|
|
|
LIBCLEANFILES5+= ${_LIB.ln} ${LOBJS}
|
|
|
|
|
|
|
|
.if defined(__MINIX)
|
|
|
|
clean: libclean6
|
|
|
|
libclean6: .PHONY .MADE __cleanuse LIBCLEANFILES6
|
|
|
|
LIBCLEANFILES6+= ${_LIB_bc.a} ${BCOBJS} ${BCOBJS:=.tmp}
|
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2010-03-22 22:25:22 +01:00
|
|
|
.if !target(libinstall) # {
|
2012-02-16 02:48:46 +01:00
|
|
|
# Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no
|
|
|
|
libinstall::
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2013-06-17 16:51:49 +02:00
|
|
|
.if ${USE_BITCODE:Uno} == "yes"
|
2013-12-06 16:46:30 +01:00
|
|
|
libinstall:: ${_DEST.LIB}/bc/${_LIB.a}
|
|
|
|
.PRECIOUS: ${_DEST.LIB}/bc/${_LIB.a}
|
2013-06-17 16:51:49 +02:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_bc.a})
|
2013-12-06 16:46:30 +01:00
|
|
|
${_DEST.LIB}/bc/${_LIB.a}! .MADE
|
2013-06-17 16:51:49 +02:00
|
|
|
.endif
|
2013-12-06 16:46:30 +01:00
|
|
|
${_DEST.LIB}/bc/${_LIB.a}! ${_LIB_bc.a} __archiveinstall
|
2013-06-17 16:51:49 +02:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_bc.a})
|
2013-12-06 16:46:30 +01:00
|
|
|
${_DEST.LIB}/bc/${_LIB.a}: .MADE
|
2013-06-17 16:51:49 +02:00
|
|
|
.endif
|
2013-12-06 16:46:30 +01:00
|
|
|
${_DEST.LIB}/bc/${_LIB.a}: ${_LIB_bc.a} __archiveinstall
|
2013-06-17 16:51:49 +02:00
|
|
|
.endif
|
|
|
|
.endif # ${USE_BITCODE:Uno} == "yes"
|
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKLINKLIB} != "no" && ${MKSTATICLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.LIB}/${_LIB.a}
|
|
|
|
.PRECIOUS: ${_DEST.LIB}/${_LIB.a}
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.a})
|
|
|
|
${_DEST.LIB}/${_LIB.a}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB.a}! ${_LIB.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.a})
|
|
|
|
${_DEST.LIB}/${_LIB.a}: .MADE
|
2010-02-16 15:41:33 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB.a}: ${_LIB.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${MKPROFILE} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.LIB}/${_LIB_p.a}
|
|
|
|
.PRECIOUS: ${_DEST.LIB}/${_LIB_p.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_p.a})
|
|
|
|
${_DEST.LIB}/${_LIB_p.a}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_p.a}! ${_LIB_p.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_p.a})
|
|
|
|
${_DEST.LIB}/${_LIB_p.a}: .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_p.a}: ${_LIB_p.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MKDEBUGLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.LIB}/${_LIB_g.a}
|
|
|
|
.PRECIOUS: ${_DEST.LIB}/${_LIB_g.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_g.a})
|
|
|
|
${_DEST.LIB}/${_LIB_g.a}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_g.a}! ${_LIB_g.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${LIB_g.a})
|
|
|
|
${_DEST.LIB}/${_LIB_g.a}: .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_g.a}: ${_LIB_g.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.LIB}/${_LIB_pic.a}
|
|
|
|
.PRECIOUS: ${_DEST.LIB}/${_LIB_pic.a}
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_pic.a})
|
|
|
|
${_DEST.LIB}/${_LIB_pic.a}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.if ${MKPICLIB} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_pic.a}! ${_LIB.a} __archivesymlinkpic
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_pic.a}! ${_LIB_pic.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB_pic.a})
|
|
|
|
${_DEST.LIB}/${_LIB_pic.a}: .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.if ${MKPICLIB} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_pic.a}: ${_LIB.a} __archivesymlinkpic
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LIB}/${_LIB_pic.a}: ${_LIB_pic.a} __archiveinstall
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION)
|
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.OBJ}/${_LIB.so.full}
|
|
|
|
.PRECIOUS: ${_DEST.OBJ}/${_LIB.so.full}
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.so.full})
|
|
|
|
${_DEST.OBJ}/${_LIB.so.full}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.OBJ}/${_LIB.so.full}! ${_LIB.so.full}
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.so.full})
|
|
|
|
${_DEST.OBJ}/${_LIB.so.full}: .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.OBJ}/${_LIB.so.full}: ${_LIB.so.full}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
2013-12-06 12:04:52 +01:00
|
|
|
${.ALLSRC} ${.TARGET}
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${_LIBSODIR} != ${LIBDIR}
|
2013-12-06 12:04:52 +01:00
|
|
|
${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \
|
|
|
|
${_DEST.LIB}/${_LIB.so.full}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.if defined(SHLIB_FULLVERSION) && defined(SHLIB_MAJOR) && \
|
|
|
|
"${SHLIB_FULLVERSION}" != "${SHLIB_MAJOR}"
|
2013-12-06 12:04:52 +01:00
|
|
|
${INSTALL_SYMLINK} ${_LIB.so.full} ${_DEST.OBJ}/${_LIB.so.major}
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${_LIBSODIR} != ${LIBDIR}
|
2013-12-06 12:04:52 +01:00
|
|
|
${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \
|
|
|
|
${_DEST.LIB}/${_LIB.so.major}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.if ${MKLINKLIB} != "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
${INSTALL_SYMLINK} ${_LIB.so.full} ${_DEST.OBJ}/${_LIB.so}
|
2012-02-16 02:48:46 +01:00
|
|
|
.if ${_LIBSODIR} != ${LIBDIR}
|
2013-12-06 12:04:52 +01:00
|
|
|
${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \
|
|
|
|
${_DEST.LIB}/${_LIB.so}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.endif
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
.if defined(_LIB.so.debug)
|
|
|
|
libinstall:: ${_DEST.DEBUG}/${_LIB.so.debug}
|
|
|
|
.PRECIOUS: ${_DEST.DEBUG}/${_LIB.so.debug}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.DEBUG}/${_LIB.so.debug}: ${_LIB.so.debug}
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_FILE} -o ${DEBUGOWN} -g ${DEBUGGRP} -m ${DEBUGMODE} \
|
2013-12-06 12:04:52 +01:00
|
|
|
${.ALLSRC} ${.TARGET}
|
|
|
|
.if ${_LIBSODIR} != ${LIBDIR}
|
|
|
|
${INSTALL_SYMLINK} -l r ${_DEST.DEBUG}/${_LIB.so.debug} \
|
|
|
|
${_DEST.ODEBUG}/${_LIB.so.debug}
|
|
|
|
.endif
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${MKLINT} != "no" && !empty(LOBJS)
|
2013-12-06 12:04:52 +01:00
|
|
|
libinstall:: ${_DEST.LINT}/${_LIB.ln}
|
|
|
|
.PRECIOUS: ${_DEST.LINT}/${_LIB.ln}
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
.if ${MKUPDATE} == "no"
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.ln})
|
|
|
|
${_DEST.LINT}/${_LIB.ln}! .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LINT}/${_LIB.ln}! ${_LIB.ln}
|
2012-02-16 02:48:46 +01:00
|
|
|
.else
|
2013-12-06 12:04:52 +01:00
|
|
|
.if !defined(BUILD) && !make(all) && !make(${_LIB.ln})
|
|
|
|
${_DEST.LINT}/${_LIB.ln}: .MADE
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2013-12-06 12:04:52 +01:00
|
|
|
${_DEST.LINT}/${_LIB.ln}: ${_LIB.ln}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
|
|
|
${_MKTARGET_INSTALL}
|
|
|
|
${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
2013-12-06 12:04:52 +01:00
|
|
|
${.ALLSRC} ${_DEST.LINT}
|
2012-02-16 02:48:46 +01:00
|
|
|
.endif
|
2010-03-22 22:25:22 +01:00
|
|
|
.endif # !target(libinstall) # }
|
2010-02-16 15:41:33 +01:00
|
|
|
|
2010-03-22 22:25:22 +01:00
|
|
|
##### Pull in related .mk logic
|
|
|
|
LINKSOWN?= ${LIBOWN}
|
|
|
|
LINKSGRP?= ${LIBGRP}
|
|
|
|
LINKSMODE?= ${LIBMODE}
|
2012-02-16 02:48:46 +01:00
|
|
|
.include <bsd.man.mk>
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.include <bsd.nls.mk>
|
2010-06-25 20:29:09 +02:00
|
|
|
.include <bsd.files.mk>
|
|
|
|
.include <bsd.inc.mk>
|
|
|
|
.include <bsd.links.mk>
|
|
|
|
.include <bsd.dep.mk>
|
Upgrading build system to new NetBSD revision
The tested targets are the followgin ones:
* tools
* distribution
* sets
* release
The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.
For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.
Regarding new or modifications of Makefiles a few things:
* Read share/mk/bsd.README
* If you add a subdirectory, add a Makefile in it, and have it called
by the parent through the SUBDIR variable.
* Do not add arbitrary inclusion which crosses to another branch of
the hierarchy; If you can't do without it, put a comment on why.
If possible, do not use inclusion at all.
* Use as much as possible the infrastructure, it is here to make
life easier, do not fight it.
Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
2012-09-12 09:37:05 +02:00
|
|
|
.include <bsd.clang-analyze.mk>
|
|
|
|
.include <bsd.clean.mk>
|
2012-02-16 02:48:46 +01:00
|
|
|
|
|
|
|
${TARGETS}: # ensure existence
|