Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Common Development and Distribution License, Version 1.0 only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (the "License"). You may not use this file except in compliance
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ident "%Z%%M% %I% %E% SMI"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBASEPLAT= amd64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(SRC)/cmd/sgs/libld/Makefile.com
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Share machsym.c with the 32-bit i386 directory since
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# they both need the Elf32 and the Elf64 code.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinL_MACHSRCS32= ../i386/machrel.c ../i386/machsym.c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinL_MACHSRCS64 = machrel.c ../i386/machsym.c \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein amd64unwind.c ../../tools/common/leb128.c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCHKSRCS += machrel.c ../i386/machrel.c amd64unwind.c \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ../../tools/common/leb128.c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLIB64= libld.so.3
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LIB64) := SONAME = $(LIB64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDBGLIB = -L ../../liblddbg/$(MACH64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONVLIB = -L ../../libconv/$(MACH64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinELFLIB = -L ../../libelf/$(MACH64)
b15d6bddeb80c985f42986dba362c2aaf8803462Mark AndrewsDYNFLAGS += $(DBGLIB) $(CONVLIB) $(ELFLIB)
b15d6bddeb80c985f42986dba362c2aaf8803462Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSGSMSGTARG += $(SGSMSGINTEL)
b15d6bddeb80c985f42986dba362c2aaf8803462Mark Andrews
b15d6bddeb80c985f42986dba362c2aaf8803462Mark Andrews.PARALLEL: $(LINTOUT32) $(LINTOUT64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b15d6bddeb80c985f42986dba362c2aaf8803462Mark AndrewsPICS64= $(OBJECTS:%=pics64/%) pics64/amd64unwind.o pics64/leb128.o
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews$(PICS64) := amd64_CFLAGS += $(C_PICFLAGS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCTFMERGE_LIB64= $(CTFMERGE) -t -f -L VERSION -o $@ $(PICS64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(PICS64) := CFLAGS += $(CTF_FLAGS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(PICS64) := CFLAGS64 += $(CTF_FLAGS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(PICS64) := CTFCONVERT_POST = $(CTFCONVERT_O)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LIB64) := CTFMERGE_POST = $(CTFMERGE_LIB64)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$(PICS64) := CPPFLAGS += -I../../../../uts/intel/amd64/krtld
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$(PICS64) := CPPFLAGS += -DELF_TARGET_AMD64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(PICS) := CPPFLAGS += -I../../../../uts/intel/ia32/krtld
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(PICS) := CPPFLAGS += -DELF_TARGET_386
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.PARALLEL: $(PICS64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTFS_LIBDIR= $(VAR_LIBLD_64_ROOTFS_LIBDIR)
b15d6bddeb80c985f42986dba362c2aaf8803462Mark AndrewsROOTFS_DYNLIB64= $(ROOTFS_LIBDIR)/$(LIB64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTFS_DYNLIB64) := FILEMODE= 755
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LINTOUT32) := CPPFLAGS += -I../../../../uts/intel/ia32/krtld \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -DELF_TARGET_386
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LINTOUT64) := CPPFLAGS += -I../../../../uts/intel/amd64/krtld \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -DELF_TARGET_AMD64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.KEEP_STATE:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall: $(DYNLIB) $(LIBLINKS) $(LIB64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas GustafssonLINK.LIB64 = $(CC) $(amd64_CFLAGS) -o $@ -G $(DYNFLAGS) $(PICS64) $(LDLIBS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(LIB64) $(SGSPROTO)/$(LIB64): pics64 .WAIT $$(PICS64) $(MAPFILES)
8e245ec21beee31a780de9b89ba1e8bb2b9f4c9aAndreas Gustafsson $(LINK.LIB64)
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson $(POST_PROCESS_SO)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucelint: $(LINTLIB64) $(LINTOUT64)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucenative: $(SGSPROTO)/$(DYNLIB) $(SGSPROTO)/$(LIB64)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucenative-proto:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce -@mkdir -p proto/$(MACH) proto/$(MACH64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpics64:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -@mkdir -p $@
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b15d6bddeb80c985f42986dba362c2aaf8803462Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall package: all $(ROOTFS_DYNLIB) $(ROOTFS_DYNLIB64)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean: clean64
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinclean64:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -$(RM) $(PICS64)
8e245ec21beee31a780de9b89ba1e8bb2b9f4c9aAndreas Gustafsson
575e532437cf7f203707765e21767db92fa1e480Mark Andrewsclobber: clobber64
8e245ec21beee31a780de9b89ba1e8bb2b9f4c9aAndreas Gustafssonclobber64:
8e245ec21beee31a780de9b89ba1e8bb2b9f4c9aAndreas Gustafsson -$(RM) $(LIB64)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucedelete:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(RM) $(DYNLIB) $(LIB64)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Grab 32bit i386 files for libld.so.2
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucepics/machrel.o: ../i386/machrel.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(COMPILE.c) -o $@ -D_ELF32 ../i386/machrel.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(POST_PROCESS_O)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucepics/machsym.o: ../i386/machsym.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(COMPILE.c) -o $@ -D_ELF32 ../i386/machsym.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(POST_PROCESS_O)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucepics64/machsym.o: ../i386/machsym.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(COMPILE.c) -o $@ -D_ELF64 ../i386/machsym.c
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(POST_PROCESS_O)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceinclude $(SRC)/cmd/sgs/libld/Makefile.targ
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceinclude ../../Makefile.sub.64
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(LIBLINKS) := DYNLIB=$(LIB64)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpics64/%.o: $(SRCBASE)/uts/intel/amd64/krtld/%.c
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(COMPILE.c) -o $@ -D_ELF64 $<
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(POST_PROCESS_O)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinpics/%.o: $(SRCBASE)/uts/intel/ia32/krtld/%.c
b15d6bddeb80c985f42986dba362c2aaf8803462Mark Andrews $(COMPILE.c) -o $@ $<
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(POST_PROCESS_O)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein