xref: /illumos-gate/usr/src/cmd/ast/tools/Makefile (revision 42757785)
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
26b30d1939SAndy Fiddaman
27b30d1939SAndy FiddamanCC= $(NATIVECC)
28b30d1939SAndy FiddamanLD= $(NATIVELD)
29b30d1939SAndy FiddamanCFLAGS= $(NATIVE_CFLAGS)
30b30d1939SAndy Fiddaman
31b30d1939SAndy Fiddamanall install install_h: $(TOOLS)
32b30d1939SAndy Fiddaman_msg _feature:
33b30d1939SAndy Fiddaman
34b30d1939SAndy Fiddamanclean clobber:
35b30d1939SAndy Fiddaman	$(RM) $(OBJS) $(TOOLS)
36b30d1939SAndy Fiddaman
37475b46feSAndy Fiddamanpackage:
38b30d1939SAndy Fiddaman	$(RM) $@
39b30d1939SAndy Fiddaman	# The string returned by 'package' must match the value used by
40b30d1939SAndy Fiddaman	# AT&T upstream, which is "i386" or "sun4", regardless of whether
41b30d1939SAndy Fiddaman	# building 32- or 64-bit objects.
42b30d1939SAndy Fiddaman	{ \
43b30d1939SAndy Fiddaman		[[ $(MACH) == i386 ]] && arch=i386 || arch=sun4; \
44*42757785SAndy Fiddaman		print -e "#!/bin/sh\n\necho sol11.$$arch" > $@; \
45*42757785SAndy Fiddaman	}
46b30d1939SAndy Fiddaman	$(CHMOD) +x $@
47b30d1939SAndy Fiddaman
48b30d1939SAndy Fiddaman%.o: $(C_ASTINIT)/%.c
49b30d1939SAndy Fiddaman	$(COMPILE.c) -o $@ $<
50b30d1939SAndy Fiddaman	$(POST_PROCESS_O)
51b30d1939SAndy Fiddaman
52b30d1939SAndy Fiddaman%.o: $(C_AST)/src/lib/libast/port/%.c
53b30d1939SAndy Fiddaman	$(COMPILE.c) -o $@ $<
54b30d1939SAndy Fiddaman	$(POST_PROCESS_O)
55b30d1939SAndy Fiddaman
56*42757785SAndy FiddamanAST_SH_ASSEMBLE= \
57*42757785SAndy Fiddaman	{ \
58*42757785SAndy Fiddaman		tf=$$(mktemp /tmp/ast.XXXXXXXXXX) && \
59*42757785SAndy Fiddaman		print 'USAGE_LICENSE="[-author?ATT]"' > $$tf && \
60*42757785SAndy Fiddaman		cat $< >> $$tf && \
61*42757785SAndy Fiddaman		mv $$tf $@; \
62*42757785SAndy Fiddaman	}
63*42757785SAndy Fiddaman
64b30d1939SAndy Fiddaman%: $(C_ASTINIT)/%.sh
65b30d1939SAndy Fiddaman	$(RM) $@
66*42757785SAndy Fiddaman	$(AST_SH_ASSEMBLE)
67b30d1939SAndy Fiddaman	$(CHMOD) +x $@
68b30d1939SAndy Fiddaman
69b30d1939SAndy Fiddaman%: $(C_AST)/src/lib/libpp/%.sh
70b30d1939SAndy Fiddaman	$(RM) $@
71*42757785SAndy Fiddaman	$(AST_SH_ASSEMBLE)
72b30d1939SAndy Fiddaman	$(CHMOD) +x $@
73b30d1939SAndy Fiddaman
74b30d1939SAndy Fiddaman$(CTOOLS): $(OBJS)
75b30d1939SAndy Fiddaman	$(LINK.c) $@.o -o $@ $(LDLIBS)
76b30d1939SAndy Fiddaman	$(POST_PROCESS)
77b30d1939SAndy Fiddaman
78b30d1939SAndy Fiddamanprobe: $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe
79b30d1939SAndy Fiddaman	$(CAT) $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe > $@
80b30d1939SAndy Fiddaman	$(CHMOD) +x $@
81b30d1939SAndy Fiddaman
82b30d1939SAndy FiddamanSTACKPROTECT= none
83b30d1939SAndy Fiddaman
84b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-parentheses
85b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-implicit-fallthrough
86b30d1939SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-value
87b30d1939SAndy FiddamanCERRWARN += $(CNOWARN_UNINIT)
88b30d1939SAndy FiddamanSMATCH= off
89b30d1939SAndy Fiddaman
90475b46feSAndy Fiddaman.KEEP_STATE:
91b30d1939SAndy Fiddaman.PARALLEL: $(TOOLS)
92