1994-08-04 21:09:27 +00:00
|
|
|
# from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91
|
1999-08-28 00:22:10 +00:00
|
|
|
# $FreeBSD$
|
1994-08-04 21:09:27 +00:00
|
|
|
#
|
1994-05-30 19:09:18 +00:00
|
|
|
|
1998-08-08 07:02:08 +00:00
|
|
|
.if !target(__initialized__)
|
|
|
|
__initialized__:
|
1994-05-30 19:09:18 +00:00
|
|
|
.if exists(${.CURDIR}/../Makefile.inc)
|
|
|
|
.include "${.CURDIR}/../Makefile.inc"
|
|
|
|
.endif
|
1998-08-08 07:02:08 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
|
1994-08-04 21:09:27 +00:00
|
|
|
.if exists(${.CURDIR}/shlib_version)
|
|
|
|
SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major
|
1998-08-30 20:33:27 +00:00
|
|
|
.if ${OBJFORMAT} == aout
|
1994-08-04 21:09:27 +00:00
|
|
|
SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor
|
|
|
|
.endif
|
1997-08-30 23:23:18 +00:00
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
# Set up the variables controlling shared libraries. After this section,
|
|
|
|
# SHLIB_NAME will be defined only if we are to create a shared library.
|
|
|
|
# SHLIB_LINK will be defined only if we are to create a link to it.
|
|
|
|
# INSTALL_PIC_ARCHIVE will be defined only if we are to create a PIC archive.
|
|
|
|
.if defined(NOPIC)
|
|
|
|
.undef SHLIB_NAME
|
|
|
|
.undef INSTALL_PIC_ARCHIVE
|
|
|
|
.else
|
|
|
|
.if ${OBJFORMAT} == elf
|
|
|
|
.if !defined(SHLIB_NAME) && defined(SHLIB_MAJOR)
|
|
|
|
SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
|
|
|
|
SHLIB_LINK?= lib${LIB}.so
|
|
|
|
.endif
|
|
|
|
SONAME?= ${SHLIB_NAME}
|
|
|
|
.else
|
|
|
|
.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
|
|
|
|
SHLIB_NAME?= lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
.endif
|
|
|
|
.endif
|
1997-09-05 11:45:15 +00:00
|
|
|
.endif
|
|
|
|
|
2001-09-21 08:17:48 +00:00
|
|
|
.if defined(DESTDIR) && !defined(BOOTSTRAPPING)
|
1994-08-04 21:09:27 +00:00
|
|
|
CFLAGS+= -I${DESTDIR}/usr/include
|
1997-05-23 08:38:46 +00:00
|
|
|
CXXINCLUDES+= -I${DESTDIR}/usr/include/g++
|
1994-08-04 21:09:27 +00:00
|
|
|
.endif
|
1994-08-28 15:37:40 +00:00
|
|
|
|
1994-09-16 14:30:25 +00:00
|
|
|
.if defined(DEBUG_FLAGS)
|
|
|
|
CFLAGS+= ${DEBUG_FLAGS}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !defined(DEBUG_FLAGS)
|
1994-05-30 19:09:18 +00:00
|
|
|
STRIP?= -s
|
1994-09-16 14:30:25 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
|
1999-01-22 12:41:27 +00:00
|
|
|
.if ${OBJFORMAT} != aout || make(checkdpadd) || defined(NEED_LIBNAMES)
|
1996-09-28 06:01:01 +00:00
|
|
|
.include <bsd.libnames.mk>
|
1997-12-17 13:36:44 +00:00
|
|
|
.endif
|
1996-09-28 06:01:01 +00:00
|
|
|
|
1994-05-30 19:09:18 +00:00
|
|
|
.MAIN: all
|
|
|
|
|
|
|
|
# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
|
1999-01-09 21:51:00 +00:00
|
|
|
# .So used for PIC object files
|
1994-05-30 19:09:18 +00:00
|
|
|
.SUFFIXES:
|
2000-06-08 18:11:15 +00:00
|
|
|
.SUFFIXES: .out .o .po .So .S .s .c .cc .cpp .cxx .m .C .f .y .l
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
.c.o:
|
1994-08-04 21:09:27 +00:00
|
|
|
${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
.c.po:
|
1997-04-09 20:31:15 +00:00
|
|
|
${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.c.So:
|
1994-08-04 21:09:27 +00:00
|
|
|
${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1998-06-05 18:38:55 +00:00
|
|
|
.cc.o .C.o .cpp.o .cxx.o:
|
1994-08-04 21:09:27 +00:00
|
|
|
${CXX} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1998-06-05 18:38:55 +00:00
|
|
|
.cc.po .C.po .cpp.po .cxx.po:
|
1997-04-09 20:31:15 +00:00
|
|
|
${CXX} -pg ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.cc.So .C.So .cpp.So .cxx.So:
|
1994-08-04 21:09:27 +00:00
|
|
|
${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
.f.o:
|
|
|
|
${FC} ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
.f.po:
|
1997-04-09 20:31:15 +00:00
|
|
|
${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.f.So:
|
1994-08-04 21:09:27 +00:00
|
|
|
${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1998-05-15 09:30:13 +00:00
|
|
|
.m.o:
|
|
|
|
${OBJC} ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1998-05-15 09:30:13 +00:00
|
|
|
|
|
|
|
.m.po:
|
|
|
|
${OBJC} ${OBJCFLAGS} -pg -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1998-05-15 09:30:13 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.m.So:
|
1998-05-15 09:30:13 +00:00
|
|
|
${OBJC} ${PICFLAG} -DPIC ${OBJCFLAGS} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1998-05-15 09:30:13 +00:00
|
|
|
|
1994-05-30 19:09:18 +00:00
|
|
|
.s.o:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} -x assembler-with-cpp ${CFLAGS:M-[BID]*} ${AINC} -c \
|
1996-08-11 12:24:44 +00:00
|
|
|
${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
.s.po:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} -x assembler-with-cpp -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c \
|
1996-08-11 12:24:44 +00:00
|
|
|
${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.s.So:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} -x assembler-with-cpp -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c \
|
1996-08-11 12:24:44 +00:00
|
|
|
${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
.S.o:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
.S.po:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} -DPROF ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
.S.So:
|
1997-06-18 03:39:34 +00:00
|
|
|
${CC} -fpic -DPIC ${CFLAGS:M-[BID]*} ${AINC} -c ${.IMPSRC} -o ${.TARGET}
|
1998-08-08 13:11:44 +00:00
|
|
|
@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
|
|
|
|
@mv ${.TARGET}.tmp ${.TARGET}
|
1994-08-04 21:09:27 +00:00
|
|
|
|
1994-09-18 22:22:32 +00:00
|
|
|
.if !defined(INTERNALLIB) || defined(INTERNALSTATICLIB)
|
1994-09-18 22:06:04 +00:00
|
|
|
.if !defined(NOPROFILE) && !defined(INTERNALLIB)
|
1994-05-30 19:09:18 +00:00
|
|
|
_LIBS=lib${LIB}.a lib${LIB}_p.a
|
|
|
|
.else
|
|
|
|
_LIBS=lib${LIB}.a
|
|
|
|
.endif
|
1994-09-18 22:22:32 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.if defined(SHLIB_NAME)
|
|
|
|
_LIBS+=${SHLIB_NAME}
|
1997-08-30 23:23:18 +00:00
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
.if defined(INSTALL_PIC_ARCHIVE)
|
|
|
|
_LIBS+=lib${LIB}_pic.a
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !defined(PICFLAG)
|
|
|
|
PICFLAG=-fpic
|
1994-05-30 19:09:18 +00:00
|
|
|
.endif
|
|
|
|
|
2001-03-26 07:46:57 +00:00
|
|
|
.if !defined(NOMAN)
|
1996-09-18 06:09:19 +00:00
|
|
|
all: objwarn ${_LIBS} all-man _SUBDIR # llib-l${LIB}.ln
|
2001-03-26 07:46:57 +00:00
|
|
|
.else
|
|
|
|
all: objwarn ${_LIBS} _SUBDIR # llib-l${LIB}.ln
|
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
lib${LIB}.a:: ${OBJS} ${STATICOBJS}
|
2000-10-02 08:48:49 +00:00
|
|
|
@${ECHO} building static ${LIB} library
|
1994-05-30 19:09:18 +00:00
|
|
|
@rm -f lib${LIB}.a
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
@${AR} cq lib${LIB}.a `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
|
1994-08-04 21:09:27 +00:00
|
|
|
${RANLIB} lib${LIB}.a
|
1994-05-30 19:09:18 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
|
1998-08-08 13:22:06 +00:00
|
|
|
.if !defined(NOPROFILE)
|
1994-05-30 19:09:18 +00:00
|
|
|
lib${LIB}_p.a:: ${POBJS}
|
1994-08-28 15:37:40 +00:00
|
|
|
@${ECHO} building profiled ${LIB} library
|
1994-05-30 19:09:18 +00:00
|
|
|
@rm -f lib${LIB}_p.a
|
1996-08-03 06:43:05 +00:00
|
|
|
@${AR} cq lib${LIB}_p.a `lorder ${POBJS} | tsort -q` ${ARADD}
|
1994-08-04 21:09:27 +00:00
|
|
|
${RANLIB} lib${LIB}_p.a
|
1994-10-25 17:55:25 +00:00
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
|
Fix cross-building, etc:
1. To cross-build, one now needs to set TARGET_ARCH, and not the
MACHINE_ARCH. MACHINE_ARCH should never be changed manually!
2. Initialize DESTDIR= explicitly for bootstrap-tools, build-tools,
and cross-tools stages. This fixes broken header and library
dependencies problem. We build them in the host environment,
and obviously want them to depend on host headers and libraries.
The problem with broken header dependencies for bootstrap-tools
and cross-tools was already partially solved (see BOOTSTRAPPING
tests in bsd.prog.mk and bsd.lib.mk), but it was still there for
build-tools if the user ran "make world DESTDIR=/foo". Also,
for all of these stages, the library dependencies were broken
because of how bsd.libnames.mk define DPADD members.
We still provide a glue to install bootstrap- and cross-tools
under the ${WORLDTMP}.
Removed PATH overrides for bootstrap-, build-, and cross-tools
stages. There is just no reason why we would need to override
it, and the hacks to clean up the ${WORLDTMP} in the -DNOCLEAN
case are no longer needed with fixes from this step.
That is, we now never use ${WORLDTMP} headers and libraries,
and we don't use any ${WORLDTMP} installed binaries during
these stages. Again, these stages depend solely on the host
environment, including compiler, headers, and libraries.
3. Moved "miniperl" back from cross-tools (it has nothing to do
with a cross-compiler) to build-tools where it belongs. The
change from step 1 let to do this. Also, to make this work,
build-tools targets of "cc_tools" and "miniperl" were modified
to call "depend". Here follow the detailed explanations.
There are two categories of build tools, for now. In the first
category there are "cc_tools" and "miniperl". They occupy the
whole (sub)directory, and nothing needs to be done in this
subdirectory later during the "all" stage. They are also
constructed using system makefiles. We must build the .depend
early in the build-tools stage because:
1) They use (and depend on) the host environment.
2) If we don't do this in build-tools, the "depend" stage of
buildworld will do this for us; wrong library and header
dependencies will be recorded (DESTDIR=${WORLDTMP}) and,
what's worse, the "all" stage may then clobber the
build-architecture format tools (that we built in the
build-tools stage) with the target-architecture format
ones, breaking cross build.
In the second category there are all other build-tools. They
share their directory with the "main" module that needs them
in the "all" stage, and they don't show up themselves in the
.depend file. The portion of this fix was already committed
in gnu/usr.bin/cc/cc_tools/Makefile,v 1.52.
4. "libperl" is no longer a build tool, and "miniperl" is the
stand-alone application. I had to make this change because
build-tools and "all" stages share the same object directory.
Without this change, if we cross compile, libperl.a is first
built for the build architecture during the build-tools stage
(for the purposes of immediate linkage with "miniperl").
Later on, the "all" stage sees this library as up-to-date,
and doesn't rebuild it. The effect is that the wrong format
static libperl library is installed with installworld.
5. Fixed "includes" to install secure/lib/libtelnet headers if
required.
Reviewed by: bde
2001-09-29 13:17:54 +00:00
|
|
|
.if defined(DESTDIR) && !defined(BOOTSTRAPPING)
|
1998-06-04 15:15:38 +00:00
|
|
|
LDDESTDIRENV?= LIBRARY_PATH=${DESTDIR}${SHLIBDIR}:${DESTDIR}${LIBDIR}
|
1994-08-04 21:09:27 +00:00
|
|
|
.endif
|
|
|
|
|
1999-01-09 21:51:00 +00:00
|
|
|
SOBJS+= ${OBJS:.o=.So}
|
1997-08-30 23:23:18 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.if defined(SHLIB_NAME)
|
|
|
|
${SHLIB_NAME}: ${SOBJS}
|
|
|
|
@${ECHO} building shared library ${SHLIB_NAME}
|
|
|
|
@rm -f ${SHLIB_NAME} ${SHLIB_LINK}
|
|
|
|
.if defined(SHLIB_LINK)
|
|
|
|
@ln -sf ${SHLIB_NAME} ${SHLIB_LINK}
|
|
|
|
.endif
|
1998-08-30 20:33:27 +00:00
|
|
|
.if ${OBJFORMAT} == aout
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
@${LDDESTDIRENV} ${CC} -shared -Wl,-x,-assert,pure-text \
|
|
|
|
-o ${SHLIB_NAME} \
|
1996-08-03 06:43:05 +00:00
|
|
|
`lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD}
|
1997-08-30 23:23:18 +00:00
|
|
|
.else
|
|
|
|
@${LDDESTDIRENV} ${CC} -shared -Wl,-x \
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
-o ${SHLIB_NAME} -Wl,-soname,${SONAME} \
|
1997-08-30 23:23:18 +00:00
|
|
|
`lorder ${SOBJS} | tsort -q` ${LDDESTDIR} ${LDADD}
|
|
|
|
.endif
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.if defined(INSTALL_PIC_ARCHIVE)
|
1994-08-04 21:09:27 +00:00
|
|
|
lib${LIB}_pic.a:: ${SOBJS}
|
1994-08-28 15:37:40 +00:00
|
|
|
@${ECHO} building special pic ${LIB} library
|
1994-08-04 21:09:27 +00:00
|
|
|
@rm -f lib${LIB}_pic.a
|
1994-12-28 00:49:58 +00:00
|
|
|
@${AR} cq lib${LIB}_pic.a ${SOBJS} ${ARADD}
|
1994-08-04 21:09:27 +00:00
|
|
|
${RANLIB} lib${LIB}_pic.a
|
1994-10-25 17:55:25 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
llib-l${LIB}.ln: ${SRCS}
|
2001-12-03 22:31:09 +00:00
|
|
|
${LINT} -C${LIB} ${CFLAGS:M-[DIU]*} ${.ALLSRC:M*.c}
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
.if !target(clean)
|
1996-06-24 04:26:21 +00:00
|
|
|
clean: _SUBDIR
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
rm -f a.out ${OBJS} ${STATICOBJS} ${OBJS:S/$/.tmp/} ${CLEANFILES}
|
1997-12-17 13:36:44 +00:00
|
|
|
rm -f lib${LIB}.a # llib-l${LIB}.ln
|
1998-08-08 13:22:06 +00:00
|
|
|
rm -f ${POBJS} ${POBJS:S/$/.tmp/} lib${LIB}_p.a
|
1999-01-09 21:51:00 +00:00
|
|
|
rm -f ${SOBJS} ${SOBJS:.So=.so} ${SOBJS:S/$/.tmp/} \
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
${SHLIB_NAME} ${SHLIB_LINK} \
|
1999-01-09 21:51:00 +00:00
|
|
|
lib${LIB}.so.* lib${LIB}.so lib${LIB}_pic.a
|
1996-06-29 03:12:49 +00:00
|
|
|
.if defined(CLEANDIRS) && !empty(CLEANDIRS)
|
1996-06-17 15:59:52 +00:00
|
|
|
rm -rf ${CLEANDIRS}
|
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
.endif
|
|
|
|
|
1998-03-07 13:13:41 +00:00
|
|
|
_EXTRADEPEND:
|
1997-04-09 16:10:27 +00:00
|
|
|
@TMP=_depend$$$$; \
|
1999-01-09 21:51:00 +00:00
|
|
|
sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.So:/' < ${DEPENDFILE} \
|
1997-04-09 16:10:27 +00:00
|
|
|
> $$TMP; \
|
|
|
|
mv $$TMP ${DEPENDFILE}
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.if !defined(NOEXTRADEPEND) && defined(SHLIB_NAME)
|
1998-08-30 20:33:27 +00:00
|
|
|
.if ${OBJFORMAT} == aout
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
echo ${SHLIB_NAME}: \
|
1997-05-04 21:30:40 +00:00
|
|
|
`${LDDESTDIRENV} ${CC} -shared -Wl,-f ${LDDESTDIR} ${LDADD}` \
|
|
|
|
>> ${DEPENDFILE}
|
1997-08-30 23:23:18 +00:00
|
|
|
.else
|
1997-12-17 13:36:44 +00:00
|
|
|
.if defined(DPADD) && !empty(DPADD)
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
echo ${SHLIB_NAME}: ${DPADD} >> ${DEPENDFILE}
|
1997-08-30 23:23:18 +00:00
|
|
|
.endif
|
|
|
|
.endif
|
1997-08-05 03:49:49 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
|
|
|
|
.if !target(install)
|
|
|
|
.if !target(beforeinstall)
|
2000-01-14 07:41:11 +00:00
|
|
|
beforeinstall: _includeinstall
|
|
|
|
.endif
|
|
|
|
|
|
|
|
_includeinstall:
|
|
|
|
.if defined(INCS)
|
|
|
|
.for header in ${INCS}
|
|
|
|
cd ${.CURDIR} && \
|
|
|
|
${INSTALL} -C -o ${INCOWN} -g ${INCGRP} -m ${INCMODE} \
|
|
|
|
${header} ${DESTDIR}${INCDIR}
|
|
|
|
|
|
|
|
.endfor
|
1994-05-30 19:09:18 +00:00
|
|
|
.endif
|
|
|
|
|
1999-06-24 22:50:24 +00:00
|
|
|
.if defined(PRECIOUSLIB) && !defined(NOFSCHG)
|
1994-08-26 18:58:10 +00:00
|
|
|
SHLINSTALLFLAGS+= -fschg
|
|
|
|
.endif
|
|
|
|
|
1999-07-31 20:27:33 +00:00
|
|
|
_INSTALLFLAGS:= ${INSTALLFLAGS}
|
|
|
|
.for ie in ${INSTALLFLAGS_EDIT}
|
|
|
|
_INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
|
|
|
|
.endfor
|
2000-02-03 09:36:17 +00:00
|
|
|
_SHLINSTALLFLAGS:= ${SHLINSTALLFLAGS}
|
1999-07-31 20:27:33 +00:00
|
|
|
.for ie in ${INSTALLFLAGS_EDIT}
|
|
|
|
_SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}}
|
|
|
|
.endfor
|
|
|
|
|
1994-05-30 19:09:18 +00:00
|
|
|
realinstall: beforeinstall
|
1994-08-26 18:58:10 +00:00
|
|
|
.if !defined(INTERNALLIB)
|
1994-08-10 02:48:08 +00:00
|
|
|
${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
1999-07-31 20:27:33 +00:00
|
|
|
${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
|
1994-05-30 19:09:18 +00:00
|
|
|
.if !defined(NOPROFILE)
|
1994-08-04 21:09:27 +00:00
|
|
|
${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
1999-07-31 20:27:33 +00:00
|
|
|
${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
|
1994-05-30 19:09:18 +00:00
|
|
|
.endif
|
1994-08-26 18:58:10 +00:00
|
|
|
.endif
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
.if defined(SHLIB_NAME)
|
1999-06-24 22:50:24 +00:00
|
|
|
${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
1999-07-31 20:27:33 +00:00
|
|
|
${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
|
|
|
|
.if defined(SHLIB_LINK)
|
1999-03-23 03:06:25 +00:00
|
|
|
ln -sf ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
|
1997-08-30 23:23:18 +00:00
|
|
|
.endif
|
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
.if defined(INSTALL_PIC_ARCHIVE)
|
|
|
|
${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
|
1999-07-31 20:27:33 +00:00
|
|
|
${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
|
1994-08-04 21:09:27 +00:00
|
|
|
.endif
|
1994-05-30 19:09:18 +00:00
|
|
|
.if defined(LINKS) && !empty(LINKS)
|
|
|
|
@set ${LINKS}; \
|
|
|
|
while test $$# -ge 2; do \
|
|
|
|
l=${DESTDIR}$$1; \
|
|
|
|
shift; \
|
|
|
|
t=${DESTDIR}$$1; \
|
|
|
|
shift; \
|
1994-08-28 15:37:40 +00:00
|
|
|
${ECHO} $$t -\> $$l; \
|
1999-03-23 03:06:25 +00:00
|
|
|
ln -f $$l $$t; \
|
|
|
|
done; true
|
|
|
|
.endif
|
|
|
|
.if defined(SYMLINKS) && !empty(SYMLINKS)
|
|
|
|
@set ${SYMLINKS}; \
|
|
|
|
while test $$# -ge 2; do \
|
|
|
|
l=$$1; \
|
|
|
|
shift; \
|
|
|
|
t=${DESTDIR}$$1; \
|
|
|
|
shift; \
|
|
|
|
${ECHO} $$t -\> $$l; \
|
|
|
|
ln -fs $$l $$t; \
|
1994-05-30 19:09:18 +00:00
|
|
|
done; true
|
|
|
|
.endif
|
|
|
|
|
1996-06-24 04:26:21 +00:00
|
|
|
install: afterinstall _SUBDIR
|
1994-05-30 19:09:18 +00:00
|
|
|
.if !defined(NOMAN)
|
1994-08-04 21:09:27 +00:00
|
|
|
afterinstall: realinstall maninstall
|
|
|
|
.else
|
|
|
|
afterinstall: realinstall
|
1994-05-30 19:09:18 +00:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1998-03-12 20:02:17 +00:00
|
|
|
.if !target(regress)
|
|
|
|
regress:
|
|
|
|
.endif
|
|
|
|
|
1995-01-14 07:51:10 +00:00
|
|
|
DISTRIBUTION?= bin
|
1994-11-13 21:05:28 +00:00
|
|
|
.if !target(distribute)
|
1996-06-24 04:26:21 +00:00
|
|
|
distribute: _SUBDIR
|
1997-06-21 15:40:34 +00:00
|
|
|
.for dist in ${DISTRIBUTION}
|
|
|
|
cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies
|
|
|
|
.endfor
|
1994-11-13 21:05:28 +00:00
|
|
|
.endif
|
|
|
|
|
1994-05-30 19:09:18 +00:00
|
|
|
.if !target(lint)
|
|
|
|
lint:
|
|
|
|
.endif
|
|
|
|
|
1994-08-04 21:09:27 +00:00
|
|
|
.if !defined(NOMAN)
|
1994-05-30 19:09:18 +00:00
|
|
|
.include <bsd.man.mk>
|
2001-03-27 08:43:28 +00:00
|
|
|
.else
|
|
|
|
.if !target(all-man)
|
|
|
|
all-man:
|
|
|
|
.endif
|
|
|
|
.if !target(maninstall)
|
1994-08-04 21:09:27 +00:00
|
|
|
maninstall:
|
|
|
|
.endif
|
2001-03-27 08:43:28 +00:00
|
|
|
.endif
|
1994-08-04 21:09:27 +00:00
|
|
|
|
|
|
|
.include <bsd.dep.mk>
|
1998-03-06 08:08:36 +00:00
|
|
|
|
|
|
|
.if !exists(${DEPENDFILE})
|
Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library. I think I cleaned it up some, too, but beauty
is in the eye of the beholder.
You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so". If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired. If none of these symbols are
set, no shared library is built.
SHLIB_LINK controls the name of the symbolic link that points to
the library. If it is unset, no link is made. In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out. This can be overridden.
STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.
These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
|
|
|
${OBJS} ${STATICOBJS} ${POBJS} ${SOBJS}: ${SRCS:M*.h}
|
1998-03-06 08:08:36 +00:00
|
|
|
.endif
|
|
|
|
|
1996-06-24 04:26:21 +00:00
|
|
|
.include <bsd.obj.mk>
|
2001-05-19 23:18:21 +00:00
|
|
|
|
|
|
|
.include <bsd.sys.mk>
|