xref: /illumos-gate/usr/src/lib/Makefile.targ (revision 1a220b56b93ff1dc80855691548503117af4cc10)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28# included to define local library targets
29#
30
31# conditional assignment of default permissions for the installed
32# DYNLIB/DYNLIBCCC.  Set here and in Makefile.mach, instead of Makefile.lib,
33# because ROOTLIBDIR may be changed in the including makefile after it has
34# included Makefile.lib.
35#
36$(ROOTLIBDIR)/$(DYNLIB) :=	FILEMODE= 755
37$(ROOTLIBDIR)/$(DYNLIBCCC) :=	FILEMODE= 755
38
39$(ROOTFS_LIBDIR)/$(DYNLIB) :=	FILEMODE= 755
40$(ROOTFS_LIBDIR)/$(DYNLIBCCC) :=	FILEMODE= 755
41
42$(ROOTLIBDIR64)/$(DYNLIB) :=	FILEMODE= 755
43$(ROOTLIBDIR64)/$(DYNLIBCCC) :=	FILEMODE= 755
44
45# install rules
46$(ROOTHDRDIR)/%: $(HDRDIR)/%
47	$(INS.file)
48
49$(ROOTLIBDIR)/%: %
50	$(INS.file)
51$(ROOTLIBDIR64)/%: %
52	$(INS.file)
53$(ROOTFS_LIBDIR)/%: %
54	$(INS.file)
55$(ROOTFS_LIBDIR64)/%: %
56	$(INS.file)
57
58$(ROOTLIBDIR)/$(LIBLINKS): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
59	$(INS.liblink)
60$(ROOTLIBDIR64)/$(LIBLINKS): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
61	$(INS.liblink64)
62
63$(ROOTLIBDIR)/$(LIBLINKSCCC): $(ROOTLIBDIR)/$(LIBLINKSCCC)$(VERS)
64	$(INS.liblinkccc)
65$(ROOTLIBDIR64)/$(LIBLINKSCCC): $(ROOTLIBDIR64)/$(LIBLINKSCCC)$(VERS)
66	$(INS.liblinkccc64)
67
68$(ROOTLINTDIR)/%: $(SRCDIR)/%
69	$(INS.file)
70$(ROOTFS_LINTDIR)/%: $(SRCDIR)/%
71	$(INS.file)
72
73objs/%.o pics/%.o: $(SRCDIR)/%.c
74	$(COMPILE.c) -o $@ $<
75	$(POST_PROCESS_O)
76
77objs/%.o pics/%.o: $(SRCDIR)/%.cc
78	$(COMPILE.cc) -o $@ $<
79	$(POST_PROCESS_O)
80
81objs pics:
82	-@mkdir -p $@
83
84$(LIBRARY): objs .WAIT $$(OBJS)
85	$(BUILD.AR)
86	$(POST_PROCESS_A)
87
88$(DYNLIB): $$(SPECMAPFILE)
89
90$(DYNLIB): pics .WAIT $$(PICS) $$(ALTPICS)
91	$(BUILD.SO)
92	$(POST_PROCESS_SO)
93
94$(DYNLIBCCC): pics .WAIT $$(PICS) $$(ALTPICS)
95	$(BUILDCCC.SO)
96	$(POST_PROCESS_SO)
97
98fnamecheck: $(DYNLIB)
99	$(CHECK_FNAMES) -s $(C_SYNONYMS_H) -l $(DYNLIB) $(PICS) $(ALTPICS)
100
101$(LINTLIB): $$(SRCS)
102	$(LINT.c) -o $(LIBNAME) $(SRCS) > $(LINTOUT) 2>&1
103
104lintcheck: $$(SRCS)
105	$(LINT.c) $(LINTCHECKFLAGS) $(SRCS) $(LDLIBS)
106
107$(SPECMAPFILES):
108	cd $(MAPDIR); pwd; $(MAKE) $(@F)
109
110clobber: clean
111	-$(RM) $(CLOBBERTARGFILES)
112
113clean:
114	-$(RM) $(OBJS)
115	-$(RM) $(PICS) $(DUPLICATE_SRC) $(LINTOUT) $(LINTLIB) $(CLEANFILES)
116