xref: /illumos-gate/usr/src/cmd/ast/tools/Makefile (revision 9b9d39d2a32ff806d2431dbcc50968ef1e6d46b2)
1b30d1939SAndy Fiddaman#
2b30d1939SAndy Fiddaman# This file and its contents are supplied under the terms of the
3b30d1939SAndy Fiddaman# Common Development and Distribution License ("CDDL"), version 1.0.
4b30d1939SAndy Fiddaman# You may only use this file in accordance with the terms of version
5b30d1939SAndy Fiddaman# 1.0 of the CDDL.
6b30d1939SAndy Fiddaman#
7b30d1939SAndy Fiddaman# A full copy of the text of the CDDL should have accompanied this
8b30d1939SAndy Fiddaman# source.  A copy of the CDDL is also available via the Internet at
9b30d1939SAndy Fiddaman# http://www.illumos.org/license/CDDL.
10b30d1939SAndy Fiddaman#
11b30d1939SAndy Fiddaman
12b30d1939SAndy Fiddaman#
13b30d1939SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
14b30d1939SAndy Fiddaman#
15b30d1939SAndy Fiddaman
16475b46feSAndy FiddamanSHELL= /usr/bin/ksh93
17475b46feSAndy Fiddaman
18a8e6450fSAndy FiddamanCTOOLS= proto lcgen
19a8e6450fSAndy FiddamanSHTOOLS= iffe package gentab
20b30d1939SAndy Fiddaman
21b30d1939SAndy FiddamanTOOLS= $(CTOOLS) $(SHTOOLS) probe
22b30d1939SAndy FiddamanOBJS= $(CTOOLS:%=%.o)
23b30d1939SAndy Fiddaman
24b30d1939SAndy Fiddamaninclude $(SRC)/cmd/Makefile.cmd
25b30d1939SAndy Fiddamaninclude ../Makefile.ast
26*9b9d39d2SRichard Loweinclude $(SRC)/Makefile.native
27b30d1939SAndy Fiddaman
28*9b9d39d2SRichard LoweNATIVE_LIBS += libc.so
29b30d1939SAndy Fiddaman
30b30d1939SAndy Fiddamanall install install_h: $(TOOLS)
31b30d1939SAndy Fiddaman_msg _feature:
32b30d1939SAndy Fiddaman
33b30d1939SAndy Fiddamanclean clobber:
34b30d1939SAndy Fiddaman	$(RM) $(OBJS) $(TOOLS)
35b30d1939SAndy Fiddaman
36475b46feSAndy Fiddamanpackage:
37b30d1939SAndy Fiddaman	$(RM) $@
38b30d1939SAndy Fiddaman	# The string returned by 'package' must match the value used by
39b30d1939SAndy Fiddaman	# AT&T upstream, which is "i386" or "sun4", regardless of whether
40b30d1939SAndy Fiddaman	# building 32- or 64-bit objects.
41b30d1939SAndy Fiddaman	{ \
42b30d1939SAndy Fiddaman		[[ $(MACH) == i386 ]] && arch=i386 || arch=sun4; \
4342757785SAndy Fiddaman		print -e "#!/bin/sh\n\necho sol11.$$arch" > $@; \
4442757785SAndy Fiddaman	}
45b30d1939SAndy Fiddaman	$(CHMOD) +x $@
46b30d1939SAndy Fiddaman
47b30d1939SAndy Fiddaman%.o: $(C_ASTINIT)/%.c
48b30d1939SAndy Fiddaman	$(COMPILE.c) -o $@ $<
49b30d1939SAndy Fiddaman	$(POST_PROCESS_O)
50b30d1939SAndy Fiddaman
51b30d1939SAndy Fiddaman%.o: $(C_AST)/src/lib/libast/port/%.c
52b30d1939SAndy Fiddaman	$(COMPILE.c) -o $@ $<
53b30d1939SAndy Fiddaman	$(POST_PROCESS_O)
54b30d1939SAndy Fiddaman
5542757785SAndy FiddamanAST_SH_ASSEMBLE= \
5642757785SAndy Fiddaman	{ \
5742757785SAndy Fiddaman		tf=$$(mktemp /tmp/ast.XXXXXXXXXX) && \
5842757785SAndy Fiddaman		print 'USAGE_LICENSE="[-author?ATT]"' > $$tf && \
5942757785SAndy Fiddaman		cat $< >> $$tf && \
6042757785SAndy Fiddaman		mv $$tf $@; \
6142757785SAndy Fiddaman	}
6242757785SAndy Fiddaman
63b30d1939SAndy Fiddaman%: $(C_ASTINIT)/%.sh
64b30d1939SAndy Fiddaman	$(RM) $@
6542757785SAndy Fiddaman	$(AST_SH_ASSEMBLE)
66b30d1939SAndy Fiddaman	$(CHMOD) +x $@
67b30d1939SAndy Fiddaman
68b30d1939SAndy Fiddaman%: $(C_AST)/src/lib/libpp/%.sh
69b30d1939SAndy Fiddaman	$(RM) $@
7042757785SAndy Fiddaman	$(AST_SH_ASSEMBLE)
71b30d1939SAndy Fiddaman	$(CHMOD) +x $@
72b30d1939SAndy Fiddaman
73b30d1939SAndy Fiddaman$(CTOOLS): $(OBJS)
74*9b9d39d2SRichard Lowe	$(LINK.c) $@.o -o $@
75b30d1939SAndy Fiddaman	$(POST_PROCESS)
76b30d1939SAndy Fiddaman
77b30d1939SAndy Fiddamanprobe: $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe
78b30d1939SAndy Fiddaman	$(CAT) $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe > $@
79b30d1939SAndy Fiddaman	$(CHMOD) +x $@
80b30d1939SAndy Fiddaman
81b30d1939SAndy FiddamanSTACKPROTECT= none
82b30d1939SAndy Fiddaman
83b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-parentheses
84b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-implicit-fallthrough
85b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-value
86b30d1939SAndy FiddamanCERRWARN += $(CNOWARN_UNINIT)
87b30d1939SAndy FiddamanSMATCH= off
88b30d1939SAndy Fiddaman
89475b46feSAndy Fiddaman.KEEP_STATE:
90b30d1939SAndy Fiddaman.PARALLEL: $(TOOLS)
91