1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 27 include $(SRC)/Makefile.master 28 include $(SRC)/cmd/sgs/Makefile.var 29 30 BUILDLOG= package_build.$(MACH).log 31 32 MACHS:sh= if [ "$MACH" = "sparc" ]; \ 33 then echo "sparc sparcv9"; \ 34 elif [ "$MACH" = "i386" ]; \ 35 then echo "i386 amd64"; \ 36 else echo "unknown"; \ 37 fi 38 39 RDBDIRS= $(MACHS:%=../librtld_db/rdb_demo/%) 40 LDMAKEDIRS= $(MACHS:%=../libldmake/%) 41 42 43 SUBDIRS1= ../libconv \ 44 .WAIT \ 45 ../libdl \ 46 .WAIT \ 47 ../libelf \ 48 .WAIT \ 49 ../liblddbg \ 50 ../librtld_db \ 51 .WAIT \ 52 ../librtld \ 53 ../libcrle 54 55 SUBDIRS2 = ../rtld \ 56 ../rtld.4.x \ 57 ../libldstab \ 58 ../lari \ 59 ../ldprof \ 60 ../lddstub \ 61 $(LDMAKEDIRS) \ 62 ../0@0 \ 63 ../tools \ 64 $(RDBDIRS) 65 66 67 # 68 # Package dirs are directories which specifically 69 # have a 'package' target. This target is used to key 70 # off of whether a system build is performed 71 # or a SUNWonld build. 72 # 73 PKGDIRS= ../libcrle \ 74 ../libld \ 75 ../elfdump \ 76 ../elfedit \ 77 ../elfedit/modules \ 78 ../elfwrap \ 79 ../crle \ 80 ../dump \ 81 ../lari \ 82 ../ld \ 83 ../ldd \ 84 ../ldprof \ 85 ../nm \ 86 ../mcs \ 87 ../moe \ 88 ../pvs 89 90 $(SUBDIRS1) $(SUBDIRS2) := TARGET = install 91 $(PKGDIRS) := TARGET = package 92 93 ../%: FRC 94 @ cd $@; pwd; $(MAKE) $(TARGET) 95 96 .KEEP_STATE_FILE: .make.state.$(MACH) 97 .KEEP_STATE: 98 .PARALLEL: $(SUBDIRS1) $(PKGDIRS) $(SUBDIRS2) 99 100 all clean clobber install: FRC 101 @ cd $(MACH); pwd; $(MAKE) $@ 102 103 # 104 # invoke `package' to build this package from scratch. It will 105 # perform make install in the directories that contains components 106 # that this package is dependent upon 107 # 108 package: FRC 109 @/bin/time $(MAKE) package_build 2>&1 | tee $(BUILDLOG) 110 @ echo "===BUILD COMPLETED checking for warnings...===" 111 @ grep -i "warning:" $(BUILDLOG) | grep -v PSTAMP | cat 112 @ echo "==================done=========================" 113 114 package_build: package_dep .WAIT package_chkmsg .WAIT install 115 116 package_chkmsg: FRC 117 @ cd ..; pwd; $(MAKE) chkmsg 118 119 package_dep: package_dep_ .WAIT $(SUBDIRS1) .WAIT \ 120 $(PKGDIRS) .WAIT $(SUBDIRS2) 121 122 package_dep_: FRC 123 @ cd ../tools; pwd; $(MAKE) proto && ./proto $(RELEASE) 124 @ cd $(SRC)/common/mapfiles/gen ; pwd; $(MAKE) install 125 @ cd $(SRC)/head; pwd; $(MAKE) \ 126 $(ROOT)/usr/include/dlfcn.h \ 127 $(ROOT)/usr/include/gelf.h \ 128 $(ROOT)/usr/include/libelf.h \ 129 $(ROOT)/usr/include/proc_service.h \ 130 $(ROOT)/usr/include/rtld_db.h \ 131 $(ROOT)/usr/include/link.h 132 @ cd $(SRC)/lib/libproc; pwd; $(MAKE) install_h 133 @ cd $(SRC)/uts/common/sys; pwd; $(MAKE) \ 134 $(ROOT)/usr/include/sys/elf.h \ 135 $(ROOT)/usr/include/sys/elf_386.h \ 136 $(ROOT)/usr/include/sys/elf_SPARC.h \ 137 $(ROOT)/usr/include/sys/elf_notes.h \ 138 $(ROOT)/usr/include/sys/elf_amd64.h \ 139 $(ROOT)/usr/include/sys/elftypes.h \ 140 $(ROOT)/usr/include/sys/auxv.h \ 141 $(ROOT)/usr/include/sys/auxv_SPARC.h \ 142 $(ROOT)/usr/include/sys/auxv_386.h \ 143 $(ROOT)/usr/include/sys/avl.h \ 144 $(ROOT)/usr/include/sys/link.h \ 145 $(ROOT)/usr/include/sys/machelf.h \ 146 $(ROOT)/usr/include/sys/note.h \ 147 $(ROOT)/usr/include/sys/systeminfo.h 148 @ cd ../tools/$(MACH); pwd; $(MAKE) sgsmsg piglatin 149 @ cd ..; pwd; $(MAKE) _msg_sgsmsg 150 @ cd ..; pwd; $(MAKE) native-add 151 @ cd ../libconv; pwd; $(MAKE) all 152 @ cd ../link_audit; pwd; $(MAKE) package 153 @ cd ../messages/$(MACH); pwd; $(MAKE) test 154 155 lint: FRC 156 $(MAKE) -f Makefile.lint lint 157 158 FRC: 159