Files
Arquivotheca.Solaris-2.5/lib/Makefile.lib
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

112 lines
3.2 KiB
Makefile
Executable File

#
#ident "@(#)Makefile.lib 1.37 95/02/24 SMI"
#
# Copyright (c) 1995 by Sun Microsystems, Inc.
# All rights reserved.
#
# lib/Makefile.lib
# Definitions common to libraries.
#
# include global definitions; SRC should be defined in the shell.
# SRC is needed until RFE 1026993 is implemented.
#
# Note that the building of profiled libraries is toggled under
# the $(BUILD_PROFS) flag which defaults to $(CH) in Makefile.master.
include $(SRC)/Makefile.master
LORDER= lorder
TSORT= tsort
AWK= awk
LN= ln
CAT= cat
MAPFILE-FLTR= $(SRC)/lib/common/mapfile-filter
LIBS= $(LIBRARY) $(LIBRARYCCC)
MACHLIBS= $(LIBS:%=$(MACH)/%)
PLIB=
$(BUILD_PROFS)PLIB= libp/$(LIBRARY)
DYNLIB= $(LIBRARY:.a=.so$(VERS))
DYNLIBPSR= $(LIBRARY:.a=_psr.so$(VERS))
DYNLIBCCC= $(LIBRARYCCC:.a=.so$(VERS))
LIBLINKS= $(LIBRARY:.a=.so)
LIBLINKSCCC= $(LIBRARYCCC:.a=.so)
LIBNAME= $(LIBRARY:lib%.a=%)
LIBLINKPATH=
MACHPLIB= $(MACH)/$(PLIB)
ROOTLIBDIR= $(ROOT)/usr/lib
ROOTLIBS= $(LIBS:%=$(ROOTLIBDIR)/%)
ROOTLINKS= $(ROOTLIBDIR)/$(LIBLINKS)
ROOTLINKSCCC= $(ROOTLIBDIR)/$(LIBLINKSCCC)
ROOTPLIB=
$(BUILD_PROFS)ROOTPLIB= $(ROOTLIBDIR)/$(PLIB)
LINTLIB= llib-l$(LIBNAME).ln
LINTFLAGS= -uax
LINTOUT= lint.out
ARFLAGS= r
SONAME= $(DYNLIB)
DYNFLAGS= -ztext -h $(SONAME)
# LDLIBS.lib functions similarly to LDLIBS.cmd in cmd/Makefile.cmd.
# It provides a mechanism for passing -L options to the linker from
# variables in the shell environment.
LDLIBS.lib= $(ENVLDLIBS1) $(ENVLDLIBS2) $(ENVLDLIBS3)
LDLIBS= $(LDLIBS.lib)
OBJS= $(OBJECTS:%=objs/%)
PROFS= $(OBJECTS:%=profs/%)
PICS= $(OBJECTS:%=pics/%)
# Declare that all library .o's can all be made in parallel.
# The DUMMY target is for those instances where OBJS, PROFS and PICS
# are empty (to avoid an unconditional .PARALLEL declaration).
.PARALLEL: $(OBJS) $(PROFS) $(PICS) DUMMY
# default value for "portable" source
SRCS= $(OBJECTS:.o=.c)
# default build of an archive and a shared object,
# overridden locally when extra processing is needed
BUILD.AR= $(AR) $(ARFLAGS) $@ $(AROBJS)
BUILD.SO= $(CC) -o $@ -G $(DYNFLAGS) $(PICS) $(LDLIBS)
BUILDCCC.SO= $(CCC) -o $@ -G $(DYNFLAGS) $(PICS) $(LDLIBS)
# default dynamic library symlink
INS.liblink= -$(RM) $@; $(LN) $(ROOTLIBDIR)/$(LIBLINKS)$(VERS) $@
$(CH)INS.liblink= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@
INS.liblinkccc= -$(RM) $@; $(LN) $(ROOTLIBDIR)/$(LIBLINKSCCC)$(VERS) $@
$(CH)INS.liblinkccc= -$(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKSCCC)$(VERS) $@
# conditional assignments
$(PROFS) := CFLAGS += -p
$(PICS) := CFLAGS += -K pic
# should be -K pic but the CC driver is currently broken
$(PICS) := CCFLAGS += -pic
$(PICS) := CPPFLAGS += -DPIC -D_TS_ERRNO
$(LINTLIB):= LOG = -DLOGGING
$(LIBRARY):= AROBJS = $(OBJS)
$(BUILD_PROFS)$(PLIB):= AROBJS = $(PROFS)
$(LIBRARY):= DIR = objs
$(BUILD_PROFS)$(PLIB):= DIR = profs
$(DYNLIB):= DIR = pics
$(DYNLIBCCC):= DIR = pics
SONAMECCC= $(DYNLIBCCC)
$(DYNLIBCCC):= DYNFLAGS = -h $(SONAMECCC) -z text -z defs
# build rule for "portable" source
objs/%.o profs/%.o pics/%.o: %.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
objs/%.o profs/%.o pics/%.o: %.cc
$(COMPILE.cc) -o $@ $<
$(POST_PROCESS_O)
.PRECIOUS: $(LIBS) $(PLIB)
# Define the majority text domain in this directory.
TEXT_DOMAIN= SUNW_OST_OSLIB