xref: /illumos-gate/usr/src/cmd/ast/Makefile (revision b30d1939)
1749f21d3Swesolows#
2*b30d1939SAndy Fiddaman# This file and its contents are supplied under the terms of the
3*b30d1939SAndy Fiddaman# Common Development and Distribution License ("CDDL"), version 1.0.
4*b30d1939SAndy Fiddaman# You may only use this file in accordance with the terms of version
5*b30d1939SAndy Fiddaman# 1.0 of the CDDL.
6749f21d3Swesolows#
7*b30d1939SAndy Fiddaman# A full copy of the text of the CDDL should have accompanied this
8*b30d1939SAndy Fiddaman# source.  A copy of the CDDL is also available via the Internet at
9*b30d1939SAndy Fiddaman# http://www.illumos.org/license/CDDL.
10749f21d3Swesolows#
11*b30d1939SAndy Fiddaman
12749f21d3Swesolows#
13*b30d1939SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
14749f21d3Swesolows#
15749f21d3Swesolows
16*b30d1939SAndy Fiddaman# Note that these AST components deliver installed headers to /usr/include/ast/
17*b30d1939SAndy Fiddaman# but nothing else in gate depends on these to build, and serveral of them are
18*b30d1939SAndy Fiddaman# auto-generated. The install_h target is deliberately not wired into
19*b30d1939SAndy Fiddaman# 'cmdheaders' in usr/src/Makefile as that would significantly increase the
20*b30d1939SAndy Fiddaman# time taken to run the 'setup' target. Instead, sub-components automatically
21*b30d1939SAndy Fiddaman# install header files as part of the 'install' target.
22da2e3ebdSchin
23*b30d1939SAndy Fiddamaninclude $(SRC)/Makefile.master
24da2e3ebdSchin
25*b30d1939SAndy Fiddamanall :=		TARGET= all
26*b30d1939SAndy Fiddamanclean :=	TARGET= clean
27*b30d1939SAndy Fiddamanclobber :=	TARGET= clobber
28*b30d1939SAndy Fiddaman_msg :=		TARGET= _msg
29*b30d1939SAndy Fiddamaninstall :=	TARGET= install
30*b30d1939SAndy Fiddamaninstall_h :=	TARGET= install_h
31*b30d1939SAndy Fiddaman# The _feature target is used to initially populate and to update the
32*b30d1939SAndy Fiddaman# FEATURE files for each component. It is not run as part of a normal
33*b30d1939SAndy Fiddaman# build.
34*b30d1939SAndy Fiddaman_feature :=	TARGET= _feature install
35da2e3ebdSchin
36*b30d1939SAndy FiddamanSUBDIRS= \
37*b30d1939SAndy Fiddaman	tools \
38*b30d1939SAndy Fiddaman	libast \
39*b30d1939SAndy Fiddaman	libcmd \
40*b30d1939SAndy Fiddaman	libdll \
41*b30d1939SAndy Fiddaman	libpp \
42*b30d1939SAndy Fiddaman	libshell \
43*b30d1939SAndy Fiddaman	libsum \
44*b30d1939SAndy Fiddaman	ksh \
45*b30d1939SAndy Fiddaman	msgcc \
46*b30d1939SAndy Fiddaman	shcomp
47da2e3ebdSchin
48da2e3ebdSchin.KEEP_STATE:
49*b30d1939SAndy Fiddaman.PARALLEL: $(SUBDIRS)
50da2e3ebdSchin
51*b30d1939SAndy Fiddamanall clean clobber install install_h _msg _feature: $(SUBDIRS)
52da2e3ebdSchin
53*b30d1939SAndy Fiddaman$(SUBDIRS): FRC
54da2e3ebdSchin	@cd $@; pwd; $(MAKE) $(TARGET)
55da2e3ebdSchin
56da2e3ebdSchinFRC:
57da2e3ebdSchin
58*b30d1939SAndy Fiddamanlibast:		tools
59*b30d1939SAndy Fiddamanlibcmd:		libsum libast
60*b30d1939SAndy Fiddamanlibdll:		libast
61*b30d1939SAndy Fiddamanlibpp:		libast
62*b30d1939SAndy Fiddamanlibshell:	libast libcmd libdll
63*b30d1939SAndy Fiddamanlibsum:		libast
64*b30d1939SAndy Fiddaman
65*b30d1939SAndy Fiddamanshcomp:		libshell
66*b30d1939SAndy Fiddamanmsgcc:		libast libpp
67*b30d1939SAndy Fiddamanksh:		libshell shcomp
68