| # |
| # 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) |
| |
| CLOBBERFILES += $(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: |