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>. 27d8e4595bSJohn Levon# Copyright 2019 Joyent, Inc. 28ca13eaa5SAndy Fiddaman# Copyright 2019 OmniOS Community Edition (OmniOSce) Association. 29d203f834SJason King# Copyright 2021 Jason King 307c478bd9Sstevel@tonic-gate# 317c478bd9Sstevel@tonic-gate 327c478bd9Sstevel@tonic-gateinclude ../Makefile.master 337c478bd9Sstevel@tonic-gate 34391889ecSAndy Fiddaman# Bootstrap problem: some utilities are pre-requisites for building everything 35391889ecSAndy Fiddaman# else: 36391889ecSAndy Fiddaman# - smatch - as it is a shadow compiler 37391889ecSAndy Fiddaman# - cw - as it is used to drive builds 38391889ecSAndy Fiddaman# - install.bin - being the 'install' target dependency 39391889ecSAndy Fiddaman# - ctf - being used to generate CTF data 40c0855578SRichard Lowe# 41391889ecSAndy Fiddaman# Anything built before 'install.bin' is present must override binary 42391889ecSAndy Fiddaman# installation rules in their makefiles. This includes the Makefile for 43391889ecSAndy Fiddaman# 'install.bin' itself. 447c478bd9Sstevel@tonic-gateBOOT_SUBDIRS= \ 451f5207b7SJohn Levon smatch \ 461f5207b7SJohn Levon .WAIT \ 47c0855578SRichard Lowe cw \ 48c0855578SRichard Lowe .WAIT \ 497079b4f8SToomas Soome install.bin \ 507079b4f8SToomas Soome .WAIT \ 511a90c98dSToomas Soome ctf \ 522e072778SToomas Soome yacc \ 532e072778SToomas Soome lex 547c478bd9Sstevel@tonic-gate 557c478bd9Sstevel@tonic-gateCOMMON_SUBDIRS= \ 5623259b79Srotondo codesign \ 577c478bd9Sstevel@tonic-gate cscope-fast \ 587c478bd9Sstevel@tonic-gate env \ 59d203f834SJason King find_elf \ 607c478bd9Sstevel@tonic-gate findunref \ 6134c98957Smeem lintdump \ 6210d63b7dSRichard Lowe make \ 63e86c665fSToomas Soome makesoftcore \ 64*78a75454SPatrick Mooney manlink \ 6510d63b7dSRichard Lowe ndrgen \ 6610d63b7dSRichard Lowe onbld \ 677c478bd9Sstevel@tonic-gate protocmp \ 687c478bd9Sstevel@tonic-gate protolist \ 6969b1fd3fSRichard Lowe scripts \ 709b9d39d2SRichard Lowe sgs \ 719b9d39d2SRichard Lowe svc 727c478bd9Sstevel@tonic-gate 737c478bd9Sstevel@tonic-gate# 747c478bd9Sstevel@tonic-gate# special versions of commands for use only in build 757c478bd9Sstevel@tonic-gate# 76df8bdeb3SjohnzUNSHIPPED_SUBDIRS = \ 7769b1fd3fSRichard Lowe $(SGSMSG) \ 7869b1fd3fSRichard Lowe $(SGSLIBCONV) \ 7969b1fd3fSRichard Lowe $(SGSLIBELF) \ 8069b1fd3fSRichard Lowe $(SGSLIBLDDBG) \ 8169b1fd3fSRichard Lowe $(SGSLIBLD) \ 8269b1fd3fSRichard Lowe $(SGSLD) \ 83b8767451SRichard Lowe geniconvtbl \ 84503609a9SYuri Pankov localedef \ 85503609a9SYuri Pankov mandoc \ 862aeafac3SToomas Soome rpcgen \ 87503609a9SYuri Pankov tic \ 884b529e40SToomas Soome vtfontcvt \ 89503609a9SYuri Pankov zic 907c478bd9Sstevel@tonic-gate 917c478bd9Sstevel@tonic-gatei386_SUBDIRS= \ 927e3dbbacSRobert Mustacchi cpcgen \ 93ae115bc7Smrj elfextract \ 940cc5983cSToomas Soome mbh_patch \ 950cc5983cSToomas Soome btxld 967c478bd9Sstevel@tonic-gate 97df8bdeb3SjohnzSUBDIRS= \ 98df8bdeb3Sjohnz $($(MACH)_SUBDIRS) \ 99df8bdeb3Sjohnz $(COMMON_SUBDIRS) \ 100df8bdeb3Sjohnz $(UNSHIPPED_SUBDIRS) 1017c478bd9Sstevel@tonic-gate 1027c478bd9Sstevel@tonic-gateinclude Makefile.tools 1037c478bd9Sstevel@tonic-gate 1047c478bd9Sstevel@tonic-gateROOTDIRS= \ 1052e02daeeSRainer Orth $(ROOTOPT) \ 1067c478bd9Sstevel@tonic-gate $(ROOTONBLD) \ 1077c478bd9Sstevel@tonic-gate $(ROOTONBLD)/bin \ 1087c478bd9Sstevel@tonic-gate $(ROOTONBLD)/bin/$(MACH) \ 1097a15b0ecSRichard Lowe $(ROOTONBLD)/bin/$(MACH64) \ 1107c478bd9Sstevel@tonic-gate $(ROOTONBLD)/lib \ 1117c478bd9Sstevel@tonic-gate $(ROOTONBLD)/lib/$(MACH) \ 11210d63b7dSRichard Lowe $(ROOTONBLD)/lib/$(MACH)/64 \ 11375ce41a5SAli Bahrami $(ROOTONBLD)/lib/perl \ 1147c478bd9Sstevel@tonic-gate $(ROOTONBLD)/env \ 1157c478bd9Sstevel@tonic-gate $(ROOTONBLD)/etc \ 11675ce41a5SAli Bahrami $(ROOTONBLD)/etc/exception_lists \ 11710d63b7dSRichard Lowe $(ROOTONBLD)/share \ 1182e072778SToomas Soome $(ROOTONBLD)/share/lib \ 1192e072778SToomas Soome $(ROOTONBLD)/share/lib/ccs \ 1207c478bd9Sstevel@tonic-gate $(ROOTONBLD)/man \ 1216cad8c54SRyan Zezeski $(ROOTONBLD)/man/man1onbld 1227c478bd9Sstevel@tonic-gate 12370143b9fSRichard LoweROOTDIRS += \ 124ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION) \ 125ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld \ 126ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/__pycache__ \ 127ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Checks \ 128ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Checks/__pycache__ \ 129ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Scm \ 130ca13eaa5SAndy Fiddaman $(ROOTONBLD)/lib/python$(PYTHON3_VERSION)/onbld/Scm/__pycache__ 131ca13eaa5SAndy Fiddaman 1327c478bd9Sstevel@tonic-gateall := TARGET= install 1337c478bd9Sstevel@tonic-gateinstall := TARGET= install 1347c478bd9Sstevel@tonic-gateclean := TARGET= clean 1357c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 1367c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 1377c478bd9Sstevel@tonic-gate 1387c478bd9Sstevel@tonic-gate.KEEP_STATE: 1397c478bd9Sstevel@tonic-gate 140ead1f93eSLiane Praza# 141ead1f93eSLiane Praza# Only create directories in the tools proto area when doing an actual 142ead1f93eSLiane Praza# build, not a clean or clobber. 143ead1f93eSLiane Praza# 144ead1f93eSLiane PrazaDOROOTDIRS= $(ROOTDIRS) 145ead1f93eSLiane Prazaclobber:= DOROOTDIRS= 146ead1f93eSLiane Prazaclean:= DOROOTDIRS= 147ead1f93eSLiane Praza 14889d58ee0SChris Fraireclobber:= DOROOTONBLDLIBPY= 14989d58ee0SChris Fraireclean:= DOROOTONBLDLIBPY= 15089d58ee0SChris Fraire 15198157a70Sakolball install: $(SUBDIRS) 1527c478bd9Sstevel@tonic-gate 153df8bdeb3Sjohnzclean: $(SUBDIRS) 1547c478bd9Sstevel@tonic-gate 155df8bdeb3Sjohnzclobber: $(SUBDIRS) 1567c478bd9Sstevel@tonic-gate $(RM) -rf $(TOOLS_PROTO) 1577c478bd9Sstevel@tonic-gate 158391889ecSAndy Fiddamanbootstrap: $(BOOT_SUBDIRS) 1597c478bd9Sstevel@tonic-gate 1607c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS) 1617c478bd9Sstevel@tonic-gate 16256ffda17SRichard Lowe.PARALLEL: $(SUBDIRS) 16398157a70Sakolb 16456ffda17SRichard Lowe$(SUBDIRS): $(BOOT_SUBDIRS) 16503113b45Sakolb 16689d58ee0SChris Fraire$(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $$(DOROOTONBLDLIBPY) FRC 1677c478bd9Sstevel@tonic-gate @cd $@; pwd; $(MAKE) $(TARGET) 1687c478bd9Sstevel@tonic-gate 169c0855578SRichard Lowe# Assume we don't have the install.bin available yet 1707c478bd9Sstevel@tonic-gate$(ROOTDIRS): 171c0855578SRichard Lowe $(MKDIR) -p -m $(DIRMODE) $@ 172ead1f93eSLiane Praza 17387ab3622SRichard Lowe$(ROOTONBLDLIBPY): $(ROOTDIRS) 17470143b9fSRichard Lowe $(RM) -r $@; $(SYMLINK) python$(PYTHON3_VERSION) $@ 17587ab3622SRichard Lowe 176ead1f93eSLiane PrazaFRC: 177