xref: /illumos-gate/usr/src/cmd/sh/Makefile (revision 2a8bcb4efb45d99ac41c94a75c396b362c414f7f)
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) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24# Copyright (c) 2018, Joyent, Inc.
25
26PROG =		sh
27USR_PROG =	$(PROG)
28
29OBJS=	args.o blok.o cmd.o defs.o error.o fault.o hash.o hashserv.o \
30	io.o msg.o print.o stak.o string.o word.o xec.o \
31	ctype.o echo.o expand.o func.o macro.o pwd.o setbrk.o test.o \
32	bltin.o jobs.o ulimit.o main.o name.o service.o
33SRCS=	$(OBJS:%.o=%.c)
34
35include ../Makefile.cmd
36
37#
38# for message cataloge
39#
40POFILE= sh.po
41POFILES= $(SRCS:%.c=%.po)
42XGETFLAGS += -a -x sh.xcl
43
44CPPFLAGS += -D_FILE_OFFSET_BITS=64 -DACCT
45CERRWARN += -_gcc=-Wno-implicit-function-declaration
46CERRWARN += -_gcc=-Wno-parentheses
47CERRWARN += -_gcc=-Wno-extra
48CERRWARN += -_gcc=-Wno-unused-variable
49
50# unknown type for func
51SMATCH=off
52
53MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB)
54LDFLAGS += $(MAPFILES:%=-Wl,-M%)
55LDLIBS += -lgen
56
57.KEEP_STATE:
58
59.PARALLEL:	$(OBJS)
60
61all: $(ROOTHASBINPROG)
62
63$(PROG): $(OBJS) $(MAPFILES)
64	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
65	$(POST_PROCESS)
66
67$(POFILE): $(POFILES)
68	$(RM) $@
69	$(CAT)     $(POFILES) > $@
70
71install: all $(ROOTHASBINPROG)
72	$(RM) $(ROOTHASBIN)/jsh
73	$(SYMLINK) sh $(ROOTHASBIN)/jsh
74	$(RM) $(ROOTHASLIB)/rsh
75	$(SYMLINK) ../bin/sh $(ROOTHASLIB)/rsh
76
77clean:
78	$(RM) $(OBJS)
79
80include ../Makefile.targ
81