xref: /titanic_51/usr/src/cmd/ast/tools/Makefile (revision b4dd7d09880f14016feece03929a224eca1cf39a)
1*b4dd7d09SAndy Fiddaman#
2*b4dd7d09SAndy Fiddaman# This file and its contents are supplied under the terms of the
3*b4dd7d09SAndy Fiddaman# Common Development and Distribution License ("CDDL"), version 1.0.
4*b4dd7d09SAndy Fiddaman# You may only use this file in accordance with the terms of version
5*b4dd7d09SAndy Fiddaman# 1.0 of the CDDL.
6*b4dd7d09SAndy Fiddaman#
7*b4dd7d09SAndy Fiddaman# A full copy of the text of the CDDL should have accompanied this
8*b4dd7d09SAndy Fiddaman# source.  A copy of the CDDL is also available via the Internet at
9*b4dd7d09SAndy Fiddaman# http://www.illumos.org/license/CDDL.
10*b4dd7d09SAndy Fiddaman#
11*b4dd7d09SAndy Fiddaman
12*b4dd7d09SAndy Fiddaman#
13*b4dd7d09SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
14*b4dd7d09SAndy Fiddaman#
15*b4dd7d09SAndy Fiddaman
16*b4dd7d09SAndy FiddamanCTOOLS= mamake ratz release proto lcgen
17*b4dd7d09SAndy FiddamanSHTOOLS= iffe mamprobe mprobe package gentab
18*b4dd7d09SAndy Fiddaman
19*b4dd7d09SAndy FiddamanTOOLS= $(CTOOLS) $(SHTOOLS) probe
20*b4dd7d09SAndy FiddamanOBJS= $(CTOOLS:%=%.o)
21*b4dd7d09SAndy Fiddaman
22*b4dd7d09SAndy Fiddamaninclude $(SRC)/cmd/Makefile.cmd
23*b4dd7d09SAndy Fiddamaninclude ../Makefile.ast
24*b4dd7d09SAndy Fiddaman
25*b4dd7d09SAndy FiddamanCC= $(NATIVECC)
26*b4dd7d09SAndy FiddamanLD= $(NATIVELD)
27*b4dd7d09SAndy FiddamanCFLAGS= $(NATIVE_CFLAGS)
28*b4dd7d09SAndy Fiddaman
29*b4dd7d09SAndy Fiddamanall install install_h: $(TOOLS)
30*b4dd7d09SAndy Fiddaman_msg _feature:
31*b4dd7d09SAndy Fiddaman
32*b4dd7d09SAndy Fiddamanclean clobber:
33*b4dd7d09SAndy Fiddaman	$(RM) $(OBJS) $(TOOLS)
34*b4dd7d09SAndy Fiddaman
35*b4dd7d09SAndy Fiddamanpackage: FRC
36*b4dd7d09SAndy Fiddaman	$(RM) $@
37*b4dd7d09SAndy Fiddaman	# The string returned by 'package' must match the value used by
38*b4dd7d09SAndy Fiddaman	# AT&T upstream, which is "i386" or "sun4", regardless of whether
39*b4dd7d09SAndy Fiddaman	# building 32- or 64-bit objects.
40*b4dd7d09SAndy Fiddaman	{ \
41*b4dd7d09SAndy Fiddaman		print "#!/bin/sh"; \
42*b4dd7d09SAndy Fiddaman		[[ $(MACH) == i386 ]] && arch=i386 || arch=sun4; \
43*b4dd7d09SAndy Fiddaman		print "echo sol11.$$arch"; \
44*b4dd7d09SAndy Fiddaman	} >; $@
45*b4dd7d09SAndy Fiddaman	$(CHMOD) +x $@
46*b4dd7d09SAndy Fiddaman
47*b4dd7d09SAndy Fiddaman%.o: $(C_ASTINIT)/%.c
48*b4dd7d09SAndy Fiddaman	$(COMPILE.c) -o $@ $<
49*b4dd7d09SAndy Fiddaman	$(POST_PROCESS_O)
50*b4dd7d09SAndy Fiddaman
51*b4dd7d09SAndy Fiddaman%.o: $(C_AST)/src/lib/libast/port/%.c
52*b4dd7d09SAndy Fiddaman	$(COMPILE.c) -o $@ $<
53*b4dd7d09SAndy Fiddaman	$(POST_PROCESS_O)
54*b4dd7d09SAndy Fiddaman
55*b4dd7d09SAndy Fiddaman%: $(C_ASTINIT)/%.sh
56*b4dd7d09SAndy Fiddaman	$(RM) $@
57*b4dd7d09SAndy Fiddaman	{ \
58*b4dd7d09SAndy Fiddaman		echo 'USAGE_LICENSE="[-author?ATT]"'; \
59*b4dd7d09SAndy Fiddaman		cat $<; \
60*b4dd7d09SAndy Fiddaman	} >; $@
61*b4dd7d09SAndy Fiddaman	$(CHMOD) +x $@
62*b4dd7d09SAndy Fiddaman
63*b4dd7d09SAndy Fiddaman%: $(C_AST)/src/lib/libpp/%.sh
64*b4dd7d09SAndy Fiddaman	$(RM) $@
65*b4dd7d09SAndy Fiddaman	{ \
66*b4dd7d09SAndy Fiddaman		echo 'USAGE_LICENSE="[-author?ATT]"'; \
67*b4dd7d09SAndy Fiddaman		cat $<; \
68*b4dd7d09SAndy Fiddaman	} >; $@
69*b4dd7d09SAndy Fiddaman	$(CHMOD) +x $@
70*b4dd7d09SAndy Fiddaman
71*b4dd7d09SAndy Fiddaman$(CTOOLS): $(OBJS)
72*b4dd7d09SAndy Fiddaman	$(LINK.c) $@.o -o $@ $(LDLIBS)
73*b4dd7d09SAndy Fiddaman	$(POST_PROCESS)
74*b4dd7d09SAndy Fiddaman
75*b4dd7d09SAndy Fiddamanprobe: $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe
76*b4dd7d09SAndy Fiddaman	$(CAT) $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe > $@
77*b4dd7d09SAndy Fiddaman	$(CHMOD) +x $@
78*b4dd7d09SAndy Fiddaman
79*b4dd7d09SAndy FiddamanSTACKPROTECT= none
80*b4dd7d09SAndy Fiddaman
81*b4dd7d09SAndy FiddamanCERRWARN += -_gcc=-Wno-parentheses
82*b4dd7d09SAndy FiddamanCERRWARN += -_gcc=-Wno-unused-value
83*b4dd7d09SAndy FiddamanCERRWARN += $(CNOWARN_UNINIT)
84*b4dd7d09SAndy FiddamanSMATCH= off
85*b4dd7d09SAndy Fiddaman
86*b4dd7d09SAndy Fiddaman.PARALLEL: $(TOOLS)
87*b4dd7d09SAndy Fiddaman
88*b4dd7d09SAndy FiddamanFRC:
89