Makefile revision 56deab0745753336570f5c63c3b5fa565eaab8f1
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# CDDL HEADER START
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# The contents of this file are subject to the terms of the
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews# Common Development and Distribution License (the "License").
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# You may not use this file except in compliance with the License.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# or http://www.opensolaris.org/os/licensing.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# See the License for the specific language governing permissions
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# and limitations under the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# CDDL HEADER END
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews#
3389b6215abbffc02cc1b6e640f05987ca9f816fMark Andrews
b5ad6dfea4cc3e7d1d322ac99f1e5a31096837c4Mark Andrews#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Use is subject to license terms.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(SRC)/Makefile.master
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(SRC)/cmd/sgs/Makefile.var
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinBUILDLOG= package_build.$(MACH).log
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMACHS:sh= if [ "$MACH" = "sparc" ]; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein then echo "sparc sparcv9"; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein elif [ "$MACH" = "i386" ]; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein then echo "i386 amd64"; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein else echo "unknown"; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein fi
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinRDBDIRS= $(MACHS:%=../librtld_db/rdb_demo/%)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLDMAKEDIRS= $(MACHS:%=../libldmake/%)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSUBDIRS1= ../libconv \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein .WAIT \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../libdl \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein .WAIT \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../libelf \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein .WAIT \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../liblddbg \
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews ../librtld_db \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein .WAIT \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../librtld \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../libcrle
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSUBDIRS2 = ../rtld \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../rtld.4.x \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../libldstab \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../lari \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../ldprof \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../lddstub \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(LDMAKEDIRS) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../0@0 \
a268fec7f54a89a0772a91da0511c8eae09e6157Mark Andrews ../tools \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(RDBDIRS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Package dirs are directories which specifically
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# have a 'package' target. This target is used to key
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# off of whether a system build is performed
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# or a SUNWonld build.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPKGDIRS= ../libcrle \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../libld \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../elfdump \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../elfedit \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../elfedit/modules \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../elfwrap \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../crle \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../dump \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../lari \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../ld \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../ldd \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../ldprof \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../nm \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../mcs \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../moe \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ../pvs
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(SUBDIRS1) $(SUBDIRS2) := TARGET = install
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(PKGDIRS) := TARGET = package
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein../%: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $@; pwd; $(MAKE) $(TARGET)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE_FILE: .make.state.$(MACH)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.PARALLEL: $(SUBDIRS1) $(PKGDIRS) $(SUBDIRS2)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinall clean clobber install: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $(MACH); pwd; $(MAKE) $@
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# invoke `package' to build this package from scratch. It will
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# perform make install in the directories that contains components
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# that this package is dependent upon
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinpackage: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @/bin/time $(MAKE) package_build 2>&1 | tee $(BUILDLOG)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ echo "===BUILD COMPLETED checking for warnings...==="
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ grep -i "warning:" $(BUILDLOG) | grep -v PSTAMP | cat
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ echo "==================done========================="
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinpackage_build: package_dep .WAIT package_chkmsg .WAIT install
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinpackage_chkmsg: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ..; pwd; $(MAKE) chkmsg
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinpackage_dep: package_dep_ .WAIT $(SUBDIRS1) .WAIT \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(PKGDIRS) .WAIT $(SUBDIRS2)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinpackage_dep_: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ../tools; pwd; $(MAKE) proto && ./proto $(RELEASE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $(SRC)/common/mapfiles/gen ; pwd; $(MAKE) install
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $(SRC)/head; pwd; $(MAKE) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/dlfcn.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/gelf.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/libelf.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/proc_service.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/rtld_db.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/link.h
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $(SRC)/lib/libproc; pwd; $(MAKE) install_h
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd $(SRC)/uts/common/sys; pwd; $(MAKE) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elf.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elf_386.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elf_SPARC.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elf_notes.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elf_amd64.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/elftypes.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/auxv.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/auxv_SPARC.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/auxv_386.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/link.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/machelf.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/note.h \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(ROOT)/usr/include/sys/systeminfo.h
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ../tools/$(MACH); pwd; $(MAKE) sgsmsg piglatin
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ..; pwd; $(MAKE) _msg_sgsmsg
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ..; pwd; $(MAKE) native-add
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ../libconv; pwd; $(MAKE) all
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ../link_audit; pwd; $(MAKE) package
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein @ cd ../messages/$(MACH); pwd; $(MAKE) test
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlint: FRC
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(MAKE) -f Makefile.lint lint
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinFRC:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein