Makefile.targ revision 7c478bd95313f5f23a4c958a745db2134aa03244
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (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 2001-2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
#
# sgs/libelf/Makefile.targ
$(VAR_POUND_2)LIBS += $(LIBRARY)
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) $(ROOTDEMODIR) \
$(ROOTFS_LINTLIB) \
.WAIT $(ROOTDEMOFILES) $(ROOTFS_LIBDIR)/$(LINTLIBSRC)
$(VAR_POUND_1)$(ROOTFS_LIBDIR)/$(LINTLIBSRC): ../common/$(LINTLIBSRC)
$(VAR_POUND_1) $(INS.file) ../common/$(LINTLIBSRC)
lint: $(LINTLIB) $(LINTOUT32) $(LINTOUT64) $(SGSLINTOUT)
$(VAR_POUND_2)lint := LIBTHREADFLAG=-lthread
.PARALLEL: $(LINTOUT32) $(LINTOUT64)
delete:
$(RM) $(DYNLIB)
$(DYNLIB): $(MAPFILES)
$(VAR_SPEC_ON)$(MAPFILE):
$(VAR_SPEC_ON) @ cd $(MAPDIR); $(MAKE) mapfile
$(VAR_SPEC_OFF)$(MAPFILE):
$(VAR_SPEC_OFF) @ sccs get mapfile
$(LIBLINKS):
$(RM) $(LIBLINKS)
$(SYMLINK) $(DYNLIB) $(LIBLINKS)
# include common library targets
#
include $(SRC)/lib/Makefile.targ
include $(SRC)/cmd/sgs/Makefile.targ
$(ROOTDEMODIR):
$(INS.dir)
$(ROOTDEMODIR)/%: ../demo/%
$(INS.file)
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, 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
#
.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 $@ $<
# 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) $(MAPFILES)
$(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: