xref: /titanic_51/usr/src/cmd/ast/Makefile (revision b4dd7d09880f14016feece03929a224eca1cf39a)
1da2e3ebdSchin#
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.
6da2e3ebdSchin#
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.
10da2e3ebdSchin#
11da2e3ebdSchin
12*b4dd7d09SAndy Fiddaman#
13*b4dd7d09SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
14*b4dd7d09SAndy Fiddaman#
15da2e3ebdSchin
16*b4dd7d09SAndy Fiddaman# Note that these AST components deliver installed headers to /usr/include/ast/
17*b4dd7d09SAndy Fiddaman# but nothing else in gate depends on these to build, and serveral of them are
18*b4dd7d09SAndy Fiddaman# auto-generated. The install_h target is deliberately not wired into
19*b4dd7d09SAndy Fiddaman# 'cmdheaders' in usr/src/Makefile as that would significantly increase the
20*b4dd7d09SAndy Fiddaman# time taken to run the 'setup' target. Instead, sub-components automatically
21*b4dd7d09SAndy Fiddaman# install header files as part of the 'install' target.
22da2e3ebdSchin
23*b4dd7d09SAndy Fiddamaninclude $(SRC)/Makefile.master
24da2e3ebdSchin
25da2e3ebdSchinall :=		TARGET= all
26da2e3ebdSchinclean :=	TARGET= clean
27da2e3ebdSchinclobber :=	TARGET= clobber
28*b4dd7d09SAndy Fiddaman_msg :=		TARGET= _msg
29*b4dd7d09SAndy Fiddamaninstall :=	TARGET= install
30*b4dd7d09SAndy Fiddamaninstall_h :=	TARGET= install_h
31*b4dd7d09SAndy Fiddaman# The _feature target is used to initially populate and to update the
32*b4dd7d09SAndy Fiddaman# FEATURE files for each component. It is not run as part of a normal
33*b4dd7d09SAndy Fiddaman# build.
34*b4dd7d09SAndy Fiddaman_feature :=	TARGET= _feature install
35*b4dd7d09SAndy Fiddaman
36*b4dd7d09SAndy FiddamanSUBDIRS= \
37*b4dd7d09SAndy Fiddaman	tools \
38*b4dd7d09SAndy Fiddaman	libast \
39*b4dd7d09SAndy Fiddaman	libcmd \
40*b4dd7d09SAndy Fiddaman	libdll \
41*b4dd7d09SAndy Fiddaman	libpp \
42*b4dd7d09SAndy Fiddaman	libshell \
43*b4dd7d09SAndy Fiddaman	libsum \
44*b4dd7d09SAndy Fiddaman	ksh \
45*b4dd7d09SAndy Fiddaman	msgcc \
46*b4dd7d09SAndy Fiddaman	shcomp
47da2e3ebdSchin
48da2e3ebdSchin.KEEP_STATE:
49*b4dd7d09SAndy Fiddaman.PARALLEL: $(SUBDIRS)
50da2e3ebdSchin
51*b4dd7d09SAndy Fiddamanall clean clobber install install_h _msg _feature: $(SUBDIRS)
52da2e3ebdSchin
53da2e3ebdSchin$(SUBDIRS): FRC
54da2e3ebdSchin	@cd $@; pwd; $(MAKE) $(TARGET)
55da2e3ebdSchin
56da2e3ebdSchinFRC:
57da2e3ebdSchin
58*b4dd7d09SAndy Fiddamanlibast:		tools
59*b4dd7d09SAndy Fiddamanlibcmd:		libsum libast
60*b4dd7d09SAndy Fiddamanlibdll:		libast
61*b4dd7d09SAndy Fiddamanlibpp:		libast
62*b4dd7d09SAndy Fiddamanlibshell:	libast libcmd libdll
63*b4dd7d09SAndy Fiddamanlibsum:		libast
64*b4dd7d09SAndy Fiddaman
65*b4dd7d09SAndy Fiddamanshcomp:		libshell
66*b4dd7d09SAndy Fiddamanmsgcc:		libast libpp
67*b4dd7d09SAndy Fiddamanksh:		libshell shcomp
68