# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. # objs/%.o \ pics/%.o: %.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) objs/%64.o \ pics/%64.o: ../common/%.c $(COMPILE.c) -D_ELF64 -o $@ $< $(POST_PROCESS_O) objs/%.o \ pics/%.o: ../misc/%.c $(COMPILE.c) -DELF -o $@ $< $(POST_PROCESS_O) objs/%.o \ pics/%.o: ../common/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) all: $(BLTSRCS) .WAIT $(LIBS) $(LIBLINKS) install: all .WAIT $(ROOTFS_LIBS) $(ROOTFS_LINKS) \ $(ROOTFS_LINTLIB) \ .WAIT $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES) \ $(ROOTFS_LIBDIR)/$(LINTLIBSRC) $(ROOTFS_LIBDIR)/$(LINTLIBSRC): ../common/$(LINTLIBSRC) $(VAR_POUND_1) $(INS.file) ../common/$(LINTLIBSRC) lint: $(LINTLIB) $(LINTOUT32) $(LINTOUT64) $(SGSLINTOUT) .PARALLEL: $(LINTOUT32) $(LINTOUT64) delete: $(RM) $(DYNLIB) $(LIBLINKS): $(RM) $(LIBLINKS) $(SYMLINK) $(DYNLIB) $(LIBLINKS) # include common library targets # include $(SRC)/lib/Makefile.targ include $(SRC)/cmd/sgs/Makefile.targ xlate.c: ../common/xlate.m4 $(M4) < ../common/xlate.m4 > xlate.c xlate64.c: ../common/xlate64.m4 $(M4) < ../common/xlate64.m4 > xlate64.c objs/msg.o \ pics/msg.o: msg.c objs/error.o \ pics/error.o: msg.h objs/ar.o \ pics/ar.o: msg.h objs/xlate.o \ pics/xlate.o: xlate.c # # Targets needed to support running of Warlock. The old warlock can be # located at: # suntools.eng:/export/tools/internal/warlock # # to use add the following to your path: # export PATH=/net/suntools.eng/export/tools/internal/warlock/bin:$PATH # # The newer warlock is at: # export PATH=/ws/onnv-gate/public/warlock/$MACH:$PATH # # This target has value for manual debugging, but is not suitable # for production use. For this reason, the necessary rules are commented # out with '###'. Remove the comments to use it. # ###warlock := CFLAGS= ### ###.PARALLEL: $(WARLOCKFILES) ###warlock: wlocks .WAIT warlock_files ### warlock -c ../common/libelf.wlcmd $(WARLOCKFILES) ### ###warlock_files: $(BLTSRCS) .WAIT $(WARLOCKFILES) ### ###wlocks: ### -@mkdir -p $@ ### ###wlocks/%.ll: %.c ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< ### ###wlocks/%.ll: ../misc/%.c ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< ### ###wlocks/%.ll: ../common/%.c ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< ### ###wlocks/%64.ll: ../common/%.c ### wlcc -D_ELF64 $(CFLAGS) $(CPPFLAGS) -o $@ $< # Special target for native builds (ie. when we need to build a version of ld # to build a version of ld :-). native: $(SGSPROTO)/$(DYNLIB) $(SGSPROTO)/$(DYNLIB): \ pics .WAIT $$(PICS) $(BUILD.SO) $(POST_PROCESS_SO) -@$(RM) $(SGSPROTO)/$(LIBLINKS) $(SYMLINK) $(DYNLIB) $(SGSPROTO)/$(LIBLINKS) # Derived source and header files (messaging). Make sure that the sgsmsg # command is constructed - libelf might not be built with the whole sgs. catalog: $(BLTMESG) chkmsg: $(LIBSRCS) sh $(CHKMSG) $(CHKMSGFLAGS) $(LIBSRCS) $(BLTDEFS) + \ $(BLTDATA): $(SGSMSG) $(SGSMSGTARG) $(SGSMSG) $(SGSMSGFLAGS2) $(SGSMSGTARG) $(BLTMESG): $(SGSMSG) $(SGSMSGALL) xlate.c xlate64.c $(SGSMSG) $(SGSMSGFLAGS1) $(SGSMSGALL) $(SGSMSG): FRC @ cd $(SGSTOOLS)/$(MACH); pwd; $(MAKE) catalog @ pwd FRC: