1b30d1939SAndy Fiddaman#
2b30d1939SAndy Fiddaman# CDDL HEADER START
3b30d1939SAndy Fiddaman#
4b30d1939SAndy Fiddaman# The contents of this file are subject to the terms of the
5b30d1939SAndy Fiddaman# Common Development and Distribution License (the "License").
6b30d1939SAndy Fiddaman# You may not use this file except in compliance with the License.
7b30d1939SAndy Fiddaman#
8b30d1939SAndy Fiddaman# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9b30d1939SAndy Fiddaman# or http://www.opensolaris.org/os/licensing.
10b30d1939SAndy Fiddaman# See the License for the specific language governing permissions
11b30d1939SAndy Fiddaman# and limitations under the License.
12b30d1939SAndy Fiddaman#
13b30d1939SAndy Fiddaman# When distributing Covered Code, include this CDDL HEADER in each
14b30d1939SAndy Fiddaman# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15b30d1939SAndy Fiddaman# If applicable, add the following below this CDDL HEADER, with the
16b30d1939SAndy Fiddaman# fields enclosed by brackets "[]" replaced with your own identifying
17b30d1939SAndy Fiddaman# information: Portions Copyright [yyyy] [name of copyright owner]
18b30d1939SAndy Fiddaman#
19b30d1939SAndy Fiddaman# CDDL HEADER END
20b30d1939SAndy Fiddaman#
21b30d1939SAndy Fiddaman
22b30d1939SAndy Fiddaman#
23b30d1939SAndy Fiddaman# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
24b30d1939SAndy Fiddaman# Copyright (c) 2019, Joyent, Inc.
25b30d1939SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
26b30d1939SAndy Fiddaman#
27b30d1939SAndy Fiddaman
28b30d1939SAndy FiddamanSHELL= /usr/bin/ksh93
29b30d1939SAndy Fiddaman
30b30d1939SAndy FiddamanLIBRARY= libshell.a
31b30d1939SAndy FiddamanVERS= .1
32b30d1939SAndy Fiddaman
33b30d1939SAndy Fiddamaninclude ../Makefile.defs
34b30d1939SAndy Fiddaman
35b30d1939SAndy FiddamanOBJECTS += $(LIBOBJS)
36b30d1939SAndy Fiddaman
37b30d1939SAndy Fiddamaninclude $(SRC)/lib/Makefile.lib
38b30d1939SAndy Fiddamaninclude ../../Makefile.ast
39b30d1939SAndy Fiddaman
40b30d1939SAndy FiddamanMAPFILES= ../mapfile-vers
41b30d1939SAndy Fiddaman
42b30d1939SAndy Fiddaman# Specify the MACH we currently use to build and test ksh
43b30d1939SAndy FiddamanLIBSHELLMACH= $(TARGETMACH)
44b30d1939SAndy FiddamanLIBSHELLBASE=..
45b30d1939SAndy Fiddaman
46b30d1939SAndy FiddamanLIBS= $(DYNLIB)
47*6859ab00SAndy FiddamanLDLIBS += -lcmd -ldll -last -lsocket -lm -lc
48b30d1939SAndy Fiddaman
49b30d1939SAndy Fiddaman# We use "=" here since using $(CPPFLAGS.master) is very tricky in our
50b30d1939SAndy Fiddaman# case - it MUST come as the last element but future changes in -D options
51b30d1939SAndy Fiddaman# may then cause silent breakage in the AST sources because the last -D
52b30d1939SAndy Fiddaman# option specified overrides previous -D options so we prefer the current
53b30d1939SAndy Fiddaman# way to explicitly list each single flag.
54b30d1939SAndy FiddamanCPPFLAGS= \
55b30d1939SAndy Fiddaman	$(DTEXTDOM) $(DTS_ERRNO) \
56b30d1939SAndy Fiddaman	$(LIBSHELLCPPFLAGS) \
57b30d1939SAndy Fiddaman	-Iast -I.
58b30d1939SAndy Fiddaman
59b30d1939SAndy FiddamanCFLAGS += $(ASTCFLAGS)
60b30d1939SAndy FiddamanCFLAGS64 += $(ASTCFLAGS64)
61b30d1939SAndy Fiddaman
62b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-parentheses
63b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-value
64b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-variable
65b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-function
66b30d1939SAndy FiddamanCERRWARN += $(CNOWARN_UNINIT)
67b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-clobbered
68b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-char-subscripts
69b30d1939SAndy Fiddaman
70b30d1939SAndy Fiddaman# smatch gets out of memory on common/sh/macro.c
71b30d1939SAndy FiddamanSMATCH= off
72b30d1939SAndy Fiddaman
73475b46feSAndy Fiddaman.KEEP_STATE:
74475b46feSAndy Fiddaman
75b30d1939SAndy Fiddamanall: install_h mkpicdirs .WAIT $(LIBS)
76b30d1939SAndy Fiddaman
77b30d1939SAndy Fiddamanmkpicdirs:
78475b46feSAndy Fiddaman	@mkdir -p $(LOBJDIRS:%=pics/%)
79b30d1939SAndy Fiddaman
80b30d1939SAndy Fiddamaninclude $(SRC)/lib/Makefile.targ
81b30d1939SAndy Fiddaman
82b30d1939SAndy Fiddamanpics/%.o: $(ASTSRC)/%.c
83b30d1939SAndy Fiddaman	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
84b30d1939SAndy Fiddaman	$(POST_PROCESS_O)
85b30d1939SAndy Fiddaman
86b30d1939SAndy Fiddaman######################################################################
87b30d1939SAndy Fiddaman# Header file generation
88b30d1939SAndy Fiddaman
89475b46feSAndy Fiddaman$(HEADERSRC:%=ast/%): $(HEADERSRC:%=$(ASTSRC)/include/%)
90b30d1939SAndy Fiddaman	$(MKDIR) -p $(@D)
91b30d1939SAndy Fiddaman	$(CP) $(ASTSRC)/include/$(@F) $@
92b30d1939SAndy Fiddaman
93b30d1939SAndy FiddamanCLOBBERFILES += ast/*
94b30d1939SAndy Fiddaman
95b30d1939SAndy Fiddamaninstall_h: $(HEADERSRC:%=ast/%)
96b30d1939SAndy Fiddaman
97b30d1939SAndy Fiddaman_feature: FRC
98b30d1939SAndy Fiddaman	$(MAKE) -f Makefile.iffe generate
99b30d1939SAndy Fiddaman
100b30d1939SAndy Fiddamaninclude ../../Makefile.astmsg
101b30d1939SAndy Fiddaman
102b30d1939SAndy FiddamanFRC:
103