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> 250cc5983cSToomas Soome# Copyright 2016 Toomas Soome <tsoome@me.com> 2689d58ee0SChris Fraire# Copyright (c) 2016, Chris Fraire <cfraire@me.com>. 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gateinclude ../Makefile.master 307c478bd9Sstevel@tonic-gate 31*c0855578SRichard Lowe# Bootstrap problem: 'cw' must be built before anything else can be built. 32*c0855578SRichard Lowe# 'install.bin' should be built next, being the 'install' target dependency 33*c0855578SRichard Lowe# for everything else. 34*c0855578SRichard Lowe# 35*c0855578SRichard Lowe# Because of somewhat cyclic dependency between them, both cw and install.bin 36*c0855578SRichard Lowe# override the way we install binaries in their Makefiles. 377c478bd9Sstevel@tonic-gateBOOT_SUBDIRS= \ 38*c0855578SRichard Lowe cw \ 39*c0855578SRichard Lowe .WAIT \ 40*c0855578SRichard Lowe install.bin 417c478bd9Sstevel@tonic-gate 427c478bd9Sstevel@tonic-gateCOMMON_SUBDIRS= \ 437c478bd9Sstevel@tonic-gate codereview \ 4423259b79Srotondo codesign \ 457c478bd9Sstevel@tonic-gate cscope-fast \ 467c478bd9Sstevel@tonic-gate ctf \ 477c478bd9Sstevel@tonic-gate env \ 487c478bd9Sstevel@tonic-gate findunref \ 4934c98957Smeem lintdump \ 5010d63b7dSRichard Lowe make \ 5110d63b7dSRichard Lowe ndrgen \ 5210d63b7dSRichard Lowe onbld \ 537c478bd9Sstevel@tonic-gate protocmp \ 547c478bd9Sstevel@tonic-gate protolist \ 557c478bd9Sstevel@tonic-gate scripts 567c478bd9Sstevel@tonic-gate 577c478bd9Sstevel@tonic-gate# 587c478bd9Sstevel@tonic-gate# special versions of commands for use only in build 597c478bd9Sstevel@tonic-gate# 60df8bdeb3SjohnzUNSHIPPED_SUBDIRS = \ 61503609a9SYuri Pankov localedef \ 62503609a9SYuri Pankov mandoc \ 63503609a9SYuri Pankov tic \ 644b529e40SToomas Soome vtfontcvt \ 65503609a9SYuri Pankov zic 667c478bd9Sstevel@tonic-gate 677c478bd9Sstevel@tonic-gatesparc_SUBDIRS= \ 68b31b5de1SJerry Gilliam chk4ubin \ 697c478bd9Sstevel@tonic-gate stabs \ 707c478bd9Sstevel@tonic-gate tokenize 717c478bd9Sstevel@tonic-gate 727c478bd9Sstevel@tonic-gatei386_SUBDIRS= \ 73ae115bc7Smrj aw \ 74ae115bc7Smrj elfextract \ 750cc5983cSToomas Soome mbh_patch \ 760cc5983cSToomas Soome btxld 777c478bd9Sstevel@tonic-gate 787c478bd9Sstevel@tonic-gateLINTSUBDIRS= \ 797c478bd9Sstevel@tonic-gate codereview \ 807c478bd9Sstevel@tonic-gate ctf \ 817c478bd9Sstevel@tonic-gate cw \ 827c478bd9Sstevel@tonic-gate findunref \ 8334c98957Smeem lintdump \ 84d0e51869Samw ndrgen \ 857c478bd9Sstevel@tonic-gate protocmp \ 867c478bd9Sstevel@tonic-gate protolist 877c478bd9Sstevel@tonic-gate 88df8bdeb3SjohnzSUBDIRS= \ 89df8bdeb3Sjohnz $($(MACH)_SUBDIRS) \ 90df8bdeb3Sjohnz $(COMMON_SUBDIRS) \ 91df8bdeb3Sjohnz $(UNSHIPPED_SUBDIRS) 927c478bd9Sstevel@tonic-gate 937c478bd9Sstevel@tonic-gateinclude Makefile.tools 947c478bd9Sstevel@tonic-gate 957c478bd9Sstevel@tonic-gateROOTDIRS= \ 962e02daeeSRainer Orth $(ROOTOPT) \ 977c478bd9Sstevel@tonic-gate $(ROOTONBLD) \ 987c478bd9Sstevel@tonic-gate $(ROOTONBLD)/bin \ 997c478bd9Sstevel@tonic-gate $(ROOTONBLD)/bin/$(MACH) \ 1007c478bd9Sstevel@tonic-gate $(ROOTONBLD)/lib \ 1017c478bd9Sstevel@tonic-gate $(ROOTONBLD)/lib/$(MACH) \ 10210d63b7dSRichard Lowe $(ROOTONBLD)/lib/$(MACH)/64 \ 10375ce41a5SAli Bahrami $(ROOTONBLD)/lib/perl \ 1049f923083SAlexander Pyhalov $(ROOTONBLD)/lib/python$(PYTHON_VERSION) \ 1059f923083SAlexander Pyhalov $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld \ 1069f923083SAlexander Pyhalov $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Checks \ 1079f923083SAlexander Pyhalov $(ROOTONBLD)/lib/python$(PYTHON_VERSION)/onbld/Scm \ 1087c478bd9Sstevel@tonic-gate $(ROOTONBLD)/env \ 1097c478bd9Sstevel@tonic-gate $(ROOTONBLD)/etc \ 11075ce41a5SAli Bahrami $(ROOTONBLD)/etc/exception_lists \ 11110d63b7dSRichard Lowe $(ROOTONBLD)/share \ 1127c478bd9Sstevel@tonic-gate $(ROOTONBLD)/man \ 1136cad8c54SRyan Zezeski $(ROOTONBLD)/man/man1onbld 1147c478bd9Sstevel@tonic-gate 1157c478bd9Sstevel@tonic-gateall := TARGET= install 1167c478bd9Sstevel@tonic-gateinstall := TARGET= install 1177c478bd9Sstevel@tonic-gateclean := TARGET= clean 1187c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 1197c478bd9Sstevel@tonic-gatelint := TARGET= lint 1207c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 1217c478bd9Sstevel@tonic-gate 1227c478bd9Sstevel@tonic-gate.KEEP_STATE: 1237c478bd9Sstevel@tonic-gate 124ead1f93eSLiane Praza# 125ead1f93eSLiane Praza# Only create directories in the tools proto area when doing an actual 126ead1f93eSLiane Praza# build, not a clean or clobber. 127ead1f93eSLiane Praza# 128ead1f93eSLiane PrazaDOROOTDIRS= $(ROOTDIRS) 129ead1f93eSLiane Prazaclobber:= DOROOTDIRS= 130ead1f93eSLiane Prazaclean:= DOROOTDIRS= 131ead1f93eSLiane Praza 13289d58ee0SChris FraireDOROOTONBLDLIBPY= $(ROOTONBLDLIBPY) 13389d58ee0SChris Fraireclobber:= DOROOTONBLDLIBPY= 13489d58ee0SChris Fraireclean:= DOROOTONBLDLIBPY= 13589d58ee0SChris Fraire 13698157a70Sakolball install: $(SUBDIRS) 1377c478bd9Sstevel@tonic-gate 138df8bdeb3Sjohnzclean: $(SUBDIRS) 1397c478bd9Sstevel@tonic-gate 140df8bdeb3Sjohnzclobber: $(SUBDIRS) 1417c478bd9Sstevel@tonic-gate $(RM) -rf $(TOOLS_PROTO) 1427c478bd9Sstevel@tonic-gate 1437c478bd9Sstevel@tonic-gatelint: $(LINTSUBDIRS) 1447c478bd9Sstevel@tonic-gate 1457c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS) 1467c478bd9Sstevel@tonic-gate 147ead1f93eSLiane Praza.PARALLEL: $(SUBDIRS) $(CLOSED_SUBDIRS) 14898157a70Sakolb 14903113b45Sakolb$(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS) 15003113b45Sakolb 15189d58ee0SChris Fraire$(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $$(DOROOTONBLDLIBPY) FRC 1527c478bd9Sstevel@tonic-gate @cd $@; pwd; $(MAKE) $(TARGET) 1537c478bd9Sstevel@tonic-gate 154*c0855578SRichard Lowe# Assume we don't have the install.bin available yet 1557c478bd9Sstevel@tonic-gate$(ROOTDIRS): 156*c0855578SRichard Lowe $(MKDIR) -p -m $(DIRMODE) $@ 157ead1f93eSLiane Praza 15887ab3622SRichard Lowe$(ROOTONBLDLIBPY): $(ROOTDIRS) 1599f923083SAlexander Pyhalov $(RM) -r $@; $(SYMLINK) python$(PYTHON_VERSION) $@ 16087ab3622SRichard Lowe 16110d63b7dSRichard Lowemake: ctf 16210d63b7dSRichard Lowe 163ead1f93eSLiane PrazaFRC: 164