xref: /illumos-gate/usr/src/cmd/awk/Makefile (revision d8e10381a0083d7717710b0db7e64707bc0f3ff8)
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23#
24# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27# Copyright 2020 Joyent, Inc.
28
29# NOTE: awk is now nawk.
30
31PROG= nawk
32LINKPROG= awk
33
34OBJ1= b.o lib.o main.o parse.o proctab.o run.o tran.o lex.o
35OBJ2= awk.g.o
36OBJS= $(OBJ2) $(OBJ1)
37SRCS= $(OBJ1:%.o=%.c)
38
39include ../Makefile.cmd
40
41ROOTLINK =	$(LINKPROG:%=$(ROOTBIN)/%)
42
43CERRWARN += -_gcc=-Wno-unused-label
44CERRWARN += -_gcc=-Wno-parentheses
45CERRWARN += -_gcc=-Wno-unused-variable
46CERRWARN += $(CNOWARN_UNINIT)
47
48# not linted
49SMATCH=off
50
51#
52# Message catalog
53#
54POFILES= $(OBJS:%.o=%.po)
55POFILE= awk.po
56XGETFLAGS += -a -x awk.xcl
57#
58
59CPPFLAGS += -D_FILE_OFFSET_BITS=64
60YFLAGS += -d
61LDLIBS += -lm -lumem
62LINTFLAGS += -u
63CLEANFILES= maketab proctab.c awk.g.c y.tab.h
64
65.KEEP_STATE:
66
67all: $(PROG) $(ROOTLINK)
68
69$(PROG): $(OBJS)
70	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
71	$(POST_PROCESS)
72
73$(ROOTLINK):	$(ROOTPROG)
74	$(RM) $@; $(LN) $(ROOTPROG) $@
75
76#
77# message catalog
78#
79
80$(POFILE):  y.tab.h $(POFILES)
81	$(RM) $@
82	cat $(POFILES) > $@
83#
84
85proctab.c: maketab
86	rm -f $@; ./maketab > $@
87
88maketab: maketab.c
89	$(NATIVECC) $(NATIVE_CFLAGS) maketab.c -o $@ $(LDLIBS)
90
91install: all $(ROOTPROG) $(ROOTLINK)
92
93clean:
94	$(RM) $(OBJS) $(CLEANFILES)
95
96awk.g.c + y.tab.h: awk.g.y
97
98awk.g.o: awk.g.c
99
100proctab.o: proctab.c
101	$(COMPILE.c) proctab.c
102	$(POST_PROCESS_O)
103
104include ../Makefile.targ
105