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