summaryrefslogtreecommitdiff
path: root/usr/src/lib/Makefile.targ
blob: a06499a5cb8841bd0811c0dcbcaedfac2fc79147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, Joyent, Inc.
#

#
# included to define local library targets
#

# conditional assignment of default permissions for the installed
# DYNLIB/DYNLIBCCC.  Set here and in Makefile.mach, instead of Makefile.lib,
# because ROOTLIBDIR may be changed in the including makefile after it has
# included Makefile.lib.
#
$(ROOTLIBDIR)/$(DYNLIB) :=	FILEMODE= 755
$(ROOTLIBDIR)/$(DYNLIBCCC) :=	FILEMODE= 755

$(ROOTFS_LIBDIR)/$(DYNLIB) :=	FILEMODE= 755
$(ROOTFS_LIBDIR)/$(DYNLIBCCC) :=	FILEMODE= 755

$(ROOTLIBDIR64)/$(DYNLIB) :=	FILEMODE= 755
$(ROOTLIBDIR64)/$(DYNLIBCCC) :=	FILEMODE= 755

# install rules
$(ROOTHDRDIR)/%: $(HDRDIR)/%
	$(INS.file)

$(ROOTLIBDIR)/%: %
	$(INS.file)
$(ROOTLIBDIR64)/%: %
	$(INS.file)
$(ROOTFS_LIBDIR)/%: %
	$(INS.file)
$(ROOTFS_LIBDIR64)/%: %
	$(INS.file)

$(ROOTLIBDIR)/$(LIBLINKS): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
	$(INS.liblink)
$(ROOTLIBDIR64)/$(LIBLINKS): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
	$(INS.liblink64)

$(ROOTLIBDIR)/$(LIBLINKSCCC): $(ROOTLIBDIR)/$(LIBLINKSCCC)$(VERS)
	$(INS.liblinkccc)
$(ROOTLIBDIR64)/$(LIBLINKSCCC): $(ROOTLIBDIR64)/$(LIBLINKSCCC)$(VERS)
	$(INS.liblinkccc64)

$(ROOTDEMODIRS):
	$(INS.dir)
$(ROOTDEMODIRBASE)/%: $(DEMOFILESRCDIR)/%
	$(INS.file)

objs/%.o pics/%.o: $(SRCDIR)/%.c
	$(COMPILE.c) -o $@ $<
	$(POST_PROCESS_O)

objs/%.o pics/%.o: $(SRCDIR)/%.cc
	$(COMPILE.cc) -o $@ $<
	$(POST_PROCESS_CC_O)

objs pics:
	-@mkdir -p $@

$(LIBRARY): objs .WAIT $$(OBJS)
	$(BUILD.AR)
	$(POST_PROCESS_A)

$(DYNLIB): $$(MAPFILES)

$(DYNLIB): pics .WAIT $$(PICS) $$(ALTPICS) $$(EXTPICS)
	$(BUILD.SO)
	$(POST_PROCESS_SO)

$(DYNLIBCCC): pics .WAIT $$(PICS) $$(ALTPICS) $$(EXTPICS)
	$(BUILDCCC.SO)
	$(POST_PROCESS_SO)

$(TYPECHECK): $(TYPECHECK_LIB32) $(TYPECHECK_LIB64)
	$(TYPECHECK.lib)

clobber: clean
	-$(RM) $(CLOBBERTARGFILES)

clean:
	-$(RM) $(OBJS) $(PICS) $(DUPLICATE_SRC) $(CLEANFILES)

$(ROOTCOMPATLINKS):
	$(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@

$(ROOTCOMPATLINKS64):
	$(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@