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