xref: /titanic_50/usr/src/tools/Makefile (revision 00ff221220d90f65da9bfe3ccabcaeb7aa227a26)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5fb9f9b97Skupfer# Common Development and Distribution License (the "License").
6fb9f9b97Skupfer# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
212e02daeeSRainer Orth
227c478bd9Sstevel@tonic-gate#
2387ab3622SRichard Lowe# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
2495c635efSGarrett D'Amore# Copyright 2014 Garrett D'Amore <garrett@damore.org>
252f01c39fSChris Fraire# Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
26*00ff2212SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
277c478bd9Sstevel@tonic-gate#
287c478bd9Sstevel@tonic-gate
297c478bd9Sstevel@tonic-gateinclude ../Makefile.master
307c478bd9Sstevel@tonic-gate
317c478bd9Sstevel@tonic-gate# Bootstrap problem --
327c478bd9Sstevel@tonic-gate# 'cw' must be built before anything else can be built.
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateBOOT_SUBDIRS= \
357c478bd9Sstevel@tonic-gate	cw
367c478bd9Sstevel@tonic-gate
377c478bd9Sstevel@tonic-gateCOMMON_SUBDIRS= \
387c478bd9Sstevel@tonic-gate	codereview \
3923259b79Srotondo	codesign \
407c478bd9Sstevel@tonic-gate	cscope-fast \
417c478bd9Sstevel@tonic-gate	ctf \
427c478bd9Sstevel@tonic-gate	depcheck \
437c478bd9Sstevel@tonic-gate	env \
447c478bd9Sstevel@tonic-gate	findunref \
457c478bd9Sstevel@tonic-gate	gk \
467c478bd9Sstevel@tonic-gate	install.bin \
4734c98957Smeem	lintdump \
4810d63b7dSRichard Lowe	make \
4910d63b7dSRichard Lowe	ndrgen \
5010d63b7dSRichard Lowe	onbld \
5110d63b7dSRichard Lowe	pmodes \
527c478bd9Sstevel@tonic-gate	protocmp \
537c478bd9Sstevel@tonic-gate	protolist \
547c478bd9Sstevel@tonic-gate	scripts
557c478bd9Sstevel@tonic-gate
567c478bd9Sstevel@tonic-gate#
577c478bd9Sstevel@tonic-gate#  special versions of commands for use only in build
587c478bd9Sstevel@tonic-gate#
59df8bdeb3SjohnzUNSHIPPED_SUBDIRS = \
6095c635efSGarrett D'Amore	elfsign \
615d0e1406SMarcel Telka	mandoc \
625d0e1406SMarcel Telka	zic
637c478bd9Sstevel@tonic-gate
647c478bd9Sstevel@tonic-gatesparc_SUBDIRS= \
65b31b5de1SJerry Gilliam	chk4ubin \
667c478bd9Sstevel@tonic-gate	stabs \
677c478bd9Sstevel@tonic-gate	tokenize
687c478bd9Sstevel@tonic-gate
697c478bd9Sstevel@tonic-gatei386_SUBDIRS=		\
70ae115bc7Smrj	aw		\
7153548f91SRobert Mustacchi	cpcgen		\
72ae115bc7Smrj	elfextract	\
73ae115bc7Smrj	mbh_patch
747c478bd9Sstevel@tonic-gate
757c478bd9Sstevel@tonic-gateLINTSUBDIRS= \
767c478bd9Sstevel@tonic-gate	codereview \
777c478bd9Sstevel@tonic-gate	ctf \
787c478bd9Sstevel@tonic-gate	cw \
797c478bd9Sstevel@tonic-gate	findunref \
8034c98957Smeem	lintdump \
81d0e51869Samw	ndrgen \
827c478bd9Sstevel@tonic-gate	protocmp \
837c478bd9Sstevel@tonic-gate	protolist
847c478bd9Sstevel@tonic-gate
85df8bdeb3SjohnzSUBDIRS= \
86df8bdeb3Sjohnz	$($(MACH)_SUBDIRS) \
87df8bdeb3Sjohnz	$(COMMON_SUBDIRS) \
88df8bdeb3Sjohnz	$(UNSHIPPED_SUBDIRS)
897c478bd9Sstevel@tonic-gate
907c478bd9Sstevel@tonic-gateinclude Makefile.tools
917c478bd9Sstevel@tonic-gate
927c478bd9Sstevel@tonic-gateROOTDIRS= \
932e02daeeSRainer Orth	$(ROOTOPT) \
947c478bd9Sstevel@tonic-gate	$(ROOTONBLD) \
957c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/bin \
967c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/bin/$(MACH) \
977c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/lib \
987c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/lib/$(MACH) \
9910d63b7dSRichard Lowe	$(ROOTONBLD)/lib/$(MACH)/64 \
10075ce41a5SAli Bahrami	$(ROOTONBLD)/lib/perl \
1017c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/env \
1027c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/etc \
10375ce41a5SAli Bahrami	$(ROOTONBLD)/etc/exception_lists \
10410d63b7dSRichard Lowe	$(ROOTONBLD)/share \
1057c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/gk \
1067c478bd9Sstevel@tonic-gate	$(ROOTONBLD)/man \
1076cad8c54SRyan Zezeski	$(ROOTONBLD)/man/man1onbld
1087c478bd9Sstevel@tonic-gate
109*00ff2212SAndy Fiddaman$(BUILDPY2TOOLS)ROOTDIRS += \
110*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON_VERSION) \
111*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld \
112*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Checks \
113*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Scm
114*00ff2212SAndy Fiddaman
115*00ff2212SAndy Fiddaman$(BUILDPY3TOOLS)ROOTDIRS += \
116*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION) \
117*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld \
118*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/__pycache__ \
119*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Checks \
120*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Checks/__pycache__ \
121*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Scm \
122*00ff2212SAndy Fiddaman	$(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Scm/__pycache__
123*00ff2212SAndy Fiddaman
1247c478bd9Sstevel@tonic-gateall :=		TARGET= install
1257c478bd9Sstevel@tonic-gateinstall :=	TARGET= install
1267c478bd9Sstevel@tonic-gateclean :=	TARGET= clean
1277c478bd9Sstevel@tonic-gateclobber :=	TARGET= clobber
1287c478bd9Sstevel@tonic-gatelint :=		TARGET= lint
1297c478bd9Sstevel@tonic-gate_msg :=		TARGET= _msg
1307c478bd9Sstevel@tonic-gate
1317c478bd9Sstevel@tonic-gate.KEEP_STATE:
1327c478bd9Sstevel@tonic-gate
133ead1f93eSLiane Praza#
134ead1f93eSLiane Praza# Only create directories in the tools proto area when doing an actual
135ead1f93eSLiane Praza# build, not a clean or clobber.
136ead1f93eSLiane Praza#
137ead1f93eSLiane PrazaDOROOTDIRS= $(ROOTDIRS)
138ead1f93eSLiane Prazaclobber:= DOROOTDIRS=
139ead1f93eSLiane Prazaclean:= DOROOTDIRS=
140ead1f93eSLiane Praza
141*00ff2212SAndy Fiddaman$(BUILDPY2TOOLS)DOROOTONBLDLIBPY= $(ROOTONBLDLIBPY)
1422f01c39fSChris Fraireclobber:= DOROOTONBLDLIBPY=
1432f01c39fSChris Fraireclean:= DOROOTONBLDLIBPY=
1442f01c39fSChris Fraire
14598157a70Sakolball install: $(SUBDIRS)
1467c478bd9Sstevel@tonic-gate
147df8bdeb3Sjohnzclean: $(SUBDIRS)
1487c478bd9Sstevel@tonic-gate
149df8bdeb3Sjohnzclobber: $(SUBDIRS)
1507c478bd9Sstevel@tonic-gate	$(RM) -rf $(TOOLS_PROTO)
1517c478bd9Sstevel@tonic-gate
1527c478bd9Sstevel@tonic-gatelint: $(LINTSUBDIRS)
1537c478bd9Sstevel@tonic-gate
1547c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS)
1557c478bd9Sstevel@tonic-gate
156ead1f93eSLiane Praza.PARALLEL: $(SUBDIRS) $(CLOSED_SUBDIRS)
15798157a70Sakolb
15803113b45Sakolb$(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS)
15903113b45Sakolb
1602f01c39fSChris Fraire$(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $$(DOROOTONBLDLIBPY) FRC
1617c478bd9Sstevel@tonic-gate	@cd $@; pwd; $(MAKE) $(TARGET)
1627c478bd9Sstevel@tonic-gate
1637c478bd9Sstevel@tonic-gate$(ROOTDIRS):
1647c478bd9Sstevel@tonic-gate	$(INS.dir)
165ead1f93eSLiane Praza
16687ab3622SRichard Lowe$(ROOTONBLDLIBPY): $(ROOTDIRS)
16724bb1048SAlexander Pyhalov	$(RM) -r $@; $(SYMLINK) python$(PYTHON_VERSION) $@
16887ab3622SRichard Lowe
16910d63b7dSRichard Lowemake: ctf
17010d63b7dSRichard Lowe
171ead1f93eSLiane PrazaFRC:
172