xref: /illumos-gate/usr/src/cmd/sgs/lex/Makefile.targ (revision 0f1702c5201310f0529cd5abb77652e5e9b241b6)
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# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28$(PROG): objs .WAIT $(POBJS)
29	$(LINK.c) $(POBJS) -o $@ $(LDLIBS)
30	$(POST_PROCESS)
31
32# conditional assignment of default permissions for the installed
33# DYNLIB/DYNLIBCCC.  Set here and in Makefile.mach, instead of Makefile.lib,
34# because ROOTLIBDIR may be changed in the including makefile after it has
35# included Makefile.lib.
36#
37$(ROOTLIBDIR)/$(DYNLIB) :=	FILEMODE= 755
38$(ROOTLIBDIR)/$(DYNLIBCCC) :=	FILEMODE= 755
39
40$(ROOTLIBDIR64)/$(DYNLIB) :=	FILEMODE= 755
41$(ROOTLIBDIR64)/$(DYNLIBCCC) :=	FILEMODE= 755
42
43# library install rules
44$(ROOTLIBDIR)/%: %
45	$(INS.file)
46$(ROOTLIBDIR64)/%: %
47	$(INS.file)
48
49$(ROOTLIBDIR)/$(LIBLINKS): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
50	$(INS.liblink)
51$(ROOTLIBDIR64)/$(LIBLINKS): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
52	$(INS.liblink64)
53
54$(ROOTLIBDIR)/$(LIBLINKSCCC): $(ROOTLIBDIR)/$(LIBLINKSCCC)$(VERS)
55	$(INS.liblinkccc)
56$(ROOTLIBDIR64)/$(LIBLINKSCCC): $(ROOTLIBDIR64)/$(LIBLINKSCCC)$(VERS)
57	$(INS.liblinkccc64)
58
59objs pics:
60	-@mkdir -p $@
61
62$(LIBRARY): objs .WAIT $$(OBJS)
63	$(BUILD.AR)
64	$(POST_PROCESS_A)
65
66$(DYNLIB): pics .WAIT $$(PICS)
67	$(BUILD.SO)
68	$(POST_PROCESS_SO)
69
70$(DYNLIBCCC): pics .WAIT $$(PICS)
71	$(BUILDCCC.SO)
72	$(POST_PROCESS_SO)
73
74objs/%_w.o pics/%_w.o objs/%_e.o pics/%_e.o:	../common/%.c
75	$(COMPILE.c) -o $@ $<
76	$(POST_PROCESS_O)
77
78objs/%.o pics/%.o:	../common/%.c
79	$(COMPILE.c) -o $@ $<
80	$(POST_PROCESS_O)
81
82# install rule for lint library target
83$(ROOTLINTDIR)/%: ../common/%
84	$(INS.file)
85
86$(DYNLINKLIBDIR)/%: %$(VERS)
87	$(INS.liblink)
88
89clean:
90	$(RM) $(POBJS) $(OBJS) $(PICS) $(CLEANFILES)
91
92lint: $(LINTPOUT) $(LINTLIB)
93
94LINT_HDR=	perl ../../tools/lint_hdr.pl
95
96$(LINTPOUT): $(SRCS)
97	$(LINT_HDR) $(PROG)			 > $(LINTPOUT)
98	$(LINT_HDR) -s lex			>> $(LINTPOUT)
99	$(LINT.c) $(MACHSRCS) $(LDLIBS)		2>&1 | tee -a $(LINTPOUT)
100
101	$(LINT_HDR) -s libl.so.1		>> $(LINTPOUT)
102	$(LINT.c) $(LIBSRCS)  $(LDLIBS)		2>&1 | tee -a $(LINTPOUT)
103
104$(LINTLIB): $(LINTSRCS)
105	$(LINT.c) -o $(LIBNAME) $(LINTSRCS)
106