13e76f9d6SRichard Lowe# 23e76f9d6SRichard Lowe# CDDL HEADER START 33e76f9d6SRichard Lowe# 43e76f9d6SRichard Lowe# The contents of this file are subject to the terms of the 53e76f9d6SRichard Lowe# Common Development and Distribution License (the "License"). 63e76f9d6SRichard Lowe# You may not use this file except in compliance with the License. 73e76f9d6SRichard Lowe# 83e76f9d6SRichard Lowe# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 93e76f9d6SRichard Lowe# or http://www.opensolaris.org/os/licensing. 103e76f9d6SRichard Lowe# See the License for the specific language governing permissions 113e76f9d6SRichard Lowe# and limitations under the License. 123e76f9d6SRichard Lowe# 133e76f9d6SRichard Lowe# When distributing Covered Code, include this CDDL HEADER in each 143e76f9d6SRichard Lowe# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 153e76f9d6SRichard Lowe# If applicable, add the following below this CDDL HEADER, with the 163e76f9d6SRichard Lowe# fields enclosed by brackets "[]" replaced with your own identifying 173e76f9d6SRichard Lowe# information: Portions Copyright [yyyy] [name of copyright owner] 183e76f9d6SRichard Lowe# 193e76f9d6SRichard Lowe# CDDL HEADER END 203e76f9d6SRichard Lowe# 213e76f9d6SRichard Lowe# 223e76f9d6SRichard Lowe# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 233e76f9d6SRichard Lowe# Use is subject to license terms. 243e76f9d6SRichard Lowe# 2544bf619dSJohn Levon# Copyright 2019 Joyent, Inc. 2644bf619dSJohn Levon# 273e76f9d6SRichard Lowe 283e76f9d6SRichard LoweCRTI = crti.o 293e76f9d6SRichard LoweCRTN = crtn.o 303e76f9d6SRichard LoweCRT1 = crt1.o 313e76f9d6SRichard LoweVALUES = values-Xa.o values-Xc.o values-Xs.o values-Xt.o \ 323e76f9d6SRichard Lowe values-xpg4.o values-xpg6.o 333e76f9d6SRichard LoweCOMMON_CRT = common-crt.o 343e76f9d6SRichard LoweMACH_CRT = mach-crt1.o 353e76f9d6SRichard Lowe 363e76f9d6SRichard Lowe# include library definitions 373e76f9d6SRichard Loweinclude ../../Makefile.lib 383e76f9d6SRichard Lowe 393e76f9d6SRichard LoweSRCS = $(VALUES:%.o=../common/%.c) $(COMMON_CRT:%.o=../common/%.c) 403e76f9d6SRichard Lowe 413e76f9d6SRichard LowePOST_PROCESS_O = $(PROCESS_COMMENT) $@ ; $(STRIP) -x $@ 423e76f9d6SRichard Lowe 433e76f9d6SRichard LoweOBJECTS = $(VALUES) $(CRT1) $(CRTI) $(CRTN) 443e76f9d6SRichard Lowe 453e76f9d6SRichard LoweROOTLIB= $(ROOT)/usr/lib 463e76f9d6SRichard LoweROOTLIB64= $(ROOTLIB)/$(MACH64) 473e76f9d6SRichard LoweROOTOBJECTS= $(OBJECTS:%=$(ROOTLIB)/%) 483e76f9d6SRichard LoweROOTOBJECTS64= $(OBJECTS:%=$(ROOTLIB64)/%) 493e76f9d6SRichard Lowe 503e76f9d6SRichard Lowe$(INTEL_BLD)ROOTOBJECTS += $(ROOTLIB)/gcrt1.o 513e76f9d6SRichard Lowe$(INTEL_BLD)ROOTOBJECTS64 += $(ROOTLIB64)/gcrt1.o 523e76f9d6SRichard Lowe 53*5d9d9091SRichard LoweASFLAGS += -D_ASM -DPIC $(AS_PICFLAGS) 54*5d9d9091SRichard LoweASFLAGS64 += -D_ASM -DPIC $(AS_PICFLAGS) 553e76f9d6SRichard Lowe 563e76f9d6SRichard Lowevalues-xpg6.o := CPPFLAGS += -I$(SRC)/lib/libc/inc 573e76f9d6SRichard Lowe$(COMMON_CRT) $(VALUES) := CFLAGS += $(C_PICFLAGS) 583e76f9d6SRichard Lowe$(COMMON_CRT) $(VALUES) := CFLAGS64 += $(C_PICFLAGS64) 593e76f9d6SRichard Lowe 6044bf619dSJohn Levon# intentional double exit 6144bf619dSJohn LevonSMOFF += unreachable 6244bf619dSJohn Levon 63cd61ae21SRichard LoweCOMPATLINKS= usr/ccs/lib/values-Xa.o \ 64cd61ae21SRichard Lowe usr/ccs/lib/values-Xc.o \ 65cd61ae21SRichard Lowe usr/ccs/lib/values-Xs.o \ 66cd61ae21SRichard Lowe usr/ccs/lib/values-Xt.o \ 67cd61ae21SRichard Lowe usr/ccs/lib/values-xpg4.o \ 68cd61ae21SRichard Lowe usr/ccs/lib/values-xpg6.o 69cd61ae21SRichard Lowe 70cd61ae21SRichard LoweCOMPATLINKS64= usr/ccs/lib/$(MACH64)/values-Xa.o \ 71cd61ae21SRichard Lowe usr/ccs/lib/$(MACH64)/values-Xc.o \ 72cd61ae21SRichard Lowe usr/ccs/lib/$(MACH64)/values-Xs.o \ 73cd61ae21SRichard Lowe usr/ccs/lib/$(MACH64)/values-Xt.o \ 74cd61ae21SRichard Lowe usr/ccs/lib/$(MACH64)/values-xpg4.o \ 75cd61ae21SRichard Lowe usr/ccs/lib/$(MACH64)/values-xpg6.o 76cd61ae21SRichard Lowe 77cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-Xa.o:= COMPATLINKTARGET=../../lib/values-Xa.o 78cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-Xc.o:= COMPATLINKTARGET=../../lib/values-Xc.o 79cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-Xs.o:= COMPATLINKTARGET=../../lib/values-Xs.o 80cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-Xt.o:= COMPATLINKTARGET=../../lib/values-Xt.o 81cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-xpg4.o:= COMPATLINKTARGET=../../lib/values-xpg4.o 82cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/values-xpg6.o:= COMPATLINKTARGET=../../lib/values-xpg6.o 83cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-Xa.o:= \ 84cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xa.o 85cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-Xc.o:= \ 86cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xc.o 87cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-Xs.o:= \ 88cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xs.o 89cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-Xt.o:= \ 90cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xt.o 91cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-xpg4.o:= \ 92cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-xpg4.o 93cd61ae21SRichard Lowe$(ROOT)/usr/ccs/lib/$(MACH64)/values-xpg6.o:= \ 94cd61ae21SRichard Lowe COMPATLINKTARGET=../../../lib/$(MACH64)/values-xpg6.o 95cd61ae21SRichard Lowe 963e76f9d6SRichard Lowe.KEEP_STATE: 973e76f9d6SRichard Lowe 983e76f9d6SRichard Loweall: $(OBJECTS) 993e76f9d6SRichard Lowe 1003e76f9d6SRichard Loweclean clobber: 1013e76f9d6SRichard Lowe $(RM) $(OBJECTS) 1023e76f9d6SRichard Lowe 1033e76f9d6SRichard Lowe 1043e76f9d6SRichard Lowe$(CRT1): $(COMMON_CRT) $(MACH_CRT) 1053e76f9d6SRichard Lowe $(LD) -r $(MACH_CRT) $(COMMON_CRT) -o $(CRT1) 1063e76f9d6SRichard Lowe 1073e76f9d6SRichard Lowe%.o: ../common/%.c 1083e76f9d6SRichard Lowe $(COMPILE.c) -o $@ $< 1093e76f9d6SRichard Lowe $(POST_PROCESS_O) 1103e76f9d6SRichard Lowe 1113e76f9d6SRichard Lowe%.o: %.s 1123e76f9d6SRichard Lowe $(COMPILE.s) -o $@ $< 1133e76f9d6SRichard Lowe $(POST_PROCESS_O) 1143e76f9d6SRichard Lowe 1153e76f9d6SRichard Lowe%.o: ../$(MACH)/%.s 1163e76f9d6SRichard Lowe $(COMPILE.s) -o $@ $< 1173e76f9d6SRichard Lowe $(POST_PROCESS_O) 1183e76f9d6SRichard Lowe 1193e76f9d6SRichard Lowe# install rule for ROOTOBJECTS and ROOTOBJECTS64 1203e76f9d6SRichard Lowe$(ROOTLIB)/%.o: %.o 1213e76f9d6SRichard Lowe $(INS.file) 1223e76f9d6SRichard Lowe 1233e76f9d6SRichard Lowe$(ROOTLIB)/gcrt1.o: 1243e76f9d6SRichard Lowe $(RM) $(ROOTLIB)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB)/gcrt1.o 1253e76f9d6SRichard Lowe 1263e76f9d6SRichard Lowe$(ROOTLIB64)/%.o: %.o 1273e76f9d6SRichard Lowe $(INS.file) 1283e76f9d6SRichard Lowe 1293e76f9d6SRichard Lowe$(ROOTLIB64)/gcrt1.o: 1303e76f9d6SRichard Lowe $(RM) $(ROOTLIB64)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB64)/gcrt1.o 1313e76f9d6SRichard Lowe 132cd61ae21SRichard Lowe$(ROOTCOMPATLINKS) $(ROOTCOMPATLINKS64): 133cd61ae21SRichard Lowe $(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@ 134