xref: /illumos-gate/usr/src/cmd/expr/Makefile (revision 8226594fdd4479be135127f43632f1f995074654)
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 (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24# Copyright (c) 2018, Joyent, Inc.
25
26PROG= expr
27XPG4PROG= expr
28XPG6PROG= expr
29
30EXPROBJ= exprobjs/expr.o exprobjs/compile.o
31XPG4EXPROBJ= exprobjs.xpg4/expr.o exprobjs.xpg4/compile.o
32XPG6EXPROBJ= exprobjs.xpg6/expr.o exprobjs.xpg6/compile.o
33
34OBJS= $(EXPROBJ) $(XPG4EXPROBJ) $(XPG6EXPROBJ)
35SRCS= expr.c compile.c
36
37include ../Makefile.cmd
38
39CFLAGS += $(CCVERBOSE)
40CERRWARN += $(CNOWARN_UNINIT)
41CERRWARN += -_gcc=-Wno-extra
42# "missing type for func"
43SMATCH=off
44$(XPG4) := CFLAGS += -DXPG4
45$(XPG6) := CFLAGS += -DXPG6
46
47XGETFLAGS += -a -x expr.xcl
48
49LDLIBS += -lgen
50
51MAPFILES =	$(MAPFILE.INT) $(MAPFILE.NGB)
52LDFLAGS +=	$(MAPFILES:%=-Wl,-M%)
53
54.KEEP_STATE:
55
56all: $(PROG) $(XPG4) $(XPG6)
57
58install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTXPG6PROG)
59
60$(PROG): exprobjs $(EXPROBJ) $(MAPFILES)
61	$(LINK.c) $(EXPROBJ) -o $@ $(LDLIBS)
62	$(POST_PROCESS)
63
64$(XPG4): exprobjs.xpg4 $(XPG4EXPROBJ) $(MAPFILES)
65	$(LINK.c) $(XPG4EXPROBJ) -o $@ $(LDLIBS)
66	$(POST_PROCESS)
67
68$(XPG6): exprobjs.xpg6 $(XPG6EXPROBJ) $(MAPFILES)
69	$(LINK.c) $(XPG6EXPROBJ) -o $@ $(LDLIBS)
70	$(POST_PROCESS)
71
72exprobjs/%.o:	%.c
73	$(COMPILE.c) -o $@ $<
74
75exprobjs.xpg4/%.o:	%.c
76	$(COMPILE.c) -o $@ $<
77
78exprobjs.xpg6/%.o:	%.c
79	$(COMPILE.c) -o $@ $<
80
81exprobjs:
82	-@mkdir -p $@
83
84exprobjs.xpg4:
85	-@mkdir -p $@
86
87exprobjs.xpg6:
88	-@mkdir -p $@
89
90clean:
91	$(RM) $(OBJS)
92
93include ../Makefile.targ
94