xref: /illumos-gate/usr/src/cmd/awk/Makefile (revision ac2f5fbefc05314fcd97b03f2338b39e6efe643f)
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 (c) 2018, Joyent, Inc.
28
29# NOTE: awk is oawk.
30
31PROG= nawk
32
33OBJ1= b.o lib.o main.o parse.o proctab.o run.o tran.o lex.o
34OBJ2= awk.g.o
35OBJS= $(OBJ2) $(OBJ1)
36SRCS= $(OBJ1:%.o=%.c)
37
38include ../Makefile.cmd
39
40CERRWARN += -_gcc=-Wno-unused-label
41CERRWARN += -_gcc=-Wno-parentheses
42CERRWARN += -_gcc=-Wno-unused-variable
43CERRWARN += $(CNOWARN_UNINIT)
44
45# not linted
46SMATCH=off
47
48#
49# Message catalog
50#
51POFILES= $(OBJS:%.o=%.po)
52POFILE= awk.po
53XGETFLAGS += -a -x awk.xcl
54#
55
56CPPFLAGS += -D_FILE_OFFSET_BITS=64
57YFLAGS += -d
58LDLIBS += -lm -lumem
59LINTFLAGS += -u
60CLEANFILES= maketab proctab.c awk.g.c y.tab.h
61
62.KEEP_STATE:
63
64all: $(PROG)
65
66$(PROG): $(OBJS)
67	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
68	$(POST_PROCESS)
69
70#
71# message catalog
72#
73
74$(POFILE):  y.tab.h $(POFILES)
75	$(RM) $@
76	cat $(POFILES) > $@
77#
78
79proctab.c: maketab
80	rm -f $@; ./maketab > $@
81
82maketab: maketab.c
83	$(NATIVECC) $(NATIVE_CFLAGS) maketab.c -o $@ $(LDLIBS)
84
85install: all $(ROOTPROG) $(ROOTLINK)
86
87clean:
88	$(RM) $(OBJS) $(CLEANFILES)
89
90lint: awk.g.c lint_SRCS
91
92awk.g.c + y.tab.h: awk.g.y
93
94awk.g.o: awk.g.c
95
96proctab.o: proctab.c
97	$(COMPILE.c) proctab.c
98	$(POST_PROCESS_O)
99
100include ../Makefile.targ
101