1*3e0c8044SRichard Lowe# 2*3e0c8044SRichard Lowe# CDDL HEADER START 3*3e0c8044SRichard Lowe# 4*3e0c8044SRichard Lowe# The contents of this file are subject to the terms of the 5*3e0c8044SRichard Lowe# Common Development and Distribution License (the "License"). 6*3e0c8044SRichard Lowe# You may not use this file except in compliance with the License. 7*3e0c8044SRichard Lowe# 8*3e0c8044SRichard Lowe# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*3e0c8044SRichard Lowe# or http://www.opensolaris.org/os/licensing. 10*3e0c8044SRichard Lowe# See the License for the specific language governing permissions 11*3e0c8044SRichard Lowe# and limitations under the License. 12*3e0c8044SRichard Lowe# 13*3e0c8044SRichard Lowe# When distributing Covered Code, include this CDDL HEADER in each 14*3e0c8044SRichard Lowe# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*3e0c8044SRichard Lowe# If applicable, add the following below this CDDL HEADER, with the 16*3e0c8044SRichard Lowe# fields enclosed by brackets "[]" replaced with your own identifying 17*3e0c8044SRichard Lowe# information: Portions Copyright [yyyy] [name of copyright owner] 18*3e0c8044SRichard Lowe# 19*3e0c8044SRichard Lowe# CDDL HEADER END 20*3e0c8044SRichard Lowe# 21*3e0c8044SRichard Lowe# 22*3e0c8044SRichard Lowe# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23*3e0c8044SRichard Lowe# Use is subject to license terms. 24*3e0c8044SRichard Lowe# 25*3e0c8044SRichard Lowe 26*3e0c8044SRichard LoweCRTI = crti.o 27*3e0c8044SRichard LoweCRTN = crtn.o 28*3e0c8044SRichard LoweCRT1 = crt1.o 29*3e0c8044SRichard LoweVALUES = values-Xa.o values-Xc.o values-Xs.o values-Xt.o \ 30*3e0c8044SRichard Lowe values-xpg4.o values-xpg6.o 31*3e0c8044SRichard LoweCOMMON_CRT = common-crt.o 32*3e0c8044SRichard LoweMACH_CRT = mach-crt1.o 33*3e0c8044SRichard Lowe 34*3e0c8044SRichard Lowe# include library definitions 35*3e0c8044SRichard Loweinclude ../../Makefile.lib 36*3e0c8044SRichard Lowe 37*3e0c8044SRichard LoweSRCS = $(VALUES:%.o=../common/%.c) $(COMMON_CRT:%.o=../common/%.c) 38*3e0c8044SRichard Lowe 39*3e0c8044SRichard LowePOST_PROCESS_O = $(PROCESS_COMMENT) $@ ; $(STRIP) -x $@ 40*3e0c8044SRichard Lowe 41*3e0c8044SRichard LoweOBJECTS = $(VALUES) $(CRT1) $(CRTI) $(CRTN) 42*3e0c8044SRichard Lowe 43*3e0c8044SRichard LoweROOTLIB= $(ROOT)/usr/lib 44*3e0c8044SRichard LoweROOTLIB64= $(ROOTLIB)/$(MACH64) 45*3e0c8044SRichard LoweROOTOBJECTS= $(OBJECTS:%=$(ROOTLIB)/%) 46*3e0c8044SRichard LoweROOTOBJECTS64= $(OBJECTS:%=$(ROOTLIB64)/%) 47*3e0c8044SRichard Lowe 48*3e0c8044SRichard Lowe$(INTEL_BLD)ROOTOBJECTS += $(ROOTLIB)/gcrt1.o 49*3e0c8044SRichard Lowe$(INTEL_BLD)ROOTOBJECTS64 += $(ROOTLIB64)/gcrt1.o 50*3e0c8044SRichard Lowe 51*3e0c8044SRichard LoweASFLAGS += -P -D__STDC__ -D_ASM -DPIC $(AS_PICFLAGS) 52*3e0c8044SRichard Lowe 53*3e0c8044SRichard Lowevalues-xpg6.o := CPPFLAGS += -I$(SRC)/lib/libc/inc 54*3e0c8044SRichard Lowevalues-xpg6.lint := CPPFLAGS += -I$(SRC)/lib/libc/inc 55*3e0c8044SRichard Lowe$(COMMON_CRT) $(VALUES) := CFLAGS += $(C_PICFLAGS) 56*3e0c8044SRichard Lowe$(COMMON_CRT) $(VALUES) := CFLAGS64 += $(C_PICFLAGS64) 57*3e0c8044SRichard Lowe 58*3e0c8044SRichard Lowe.KEEP_STATE: 59*3e0c8044SRichard Lowe 60*3e0c8044SRichard Loweall: $(OBJECTS) 61*3e0c8044SRichard Lowe 62*3e0c8044SRichard Loweclean clobber: 63*3e0c8044SRichard Lowe $(RM) $(OBJECTS) 64*3e0c8044SRichard Lowe 65*3e0c8044SRichard Lowe%.lint: ../common/%.c 66*3e0c8044SRichard Lowe $(LINT.c) $(LINTCHECKFLAGS) $< 67*3e0c8044SRichard Lowe 68*3e0c8044SRichard Lowelint: $(VALUES:%.o=%.lint) $(COMMON_CRT:%.o=%.lint) 69*3e0c8044SRichard Lowe 70*3e0c8044SRichard Lowe$(CRT1): $(COMMON_CRT) $(MACH_CRT) 71*3e0c8044SRichard Lowe $(LD) -r $(MACH_CRT) $(COMMON_CRT) -o $(CRT1) 72*3e0c8044SRichard Lowe 73*3e0c8044SRichard Lowe%.o: ../common/%.c 74*3e0c8044SRichard Lowe $(COMPILE.c) -o $@ $< 75*3e0c8044SRichard Lowe $(POST_PROCESS_O) 76*3e0c8044SRichard Lowe 77*3e0c8044SRichard Lowe%.o: %.s 78*3e0c8044SRichard Lowe $(COMPILE.s) -o $@ $< 79*3e0c8044SRichard Lowe $(POST_PROCESS_O) 80*3e0c8044SRichard Lowe 81*3e0c8044SRichard Lowe%.o: ../$(MACH)/%.s 82*3e0c8044SRichard Lowe $(COMPILE.s) -o $@ $< 83*3e0c8044SRichard Lowe $(POST_PROCESS_O) 84*3e0c8044SRichard Lowe 85*3e0c8044SRichard Lowe# install rule for ROOTOBJECTS and ROOTOBJECTS64 86*3e0c8044SRichard Lowe$(ROOTLIB)/%.o: %.o 87*3e0c8044SRichard Lowe $(INS.file) 88*3e0c8044SRichard Lowe 89*3e0c8044SRichard Lowe$(ROOTLIB)/gcrt1.o: 90*3e0c8044SRichard Lowe $(RM) $(ROOTLIB)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB)/gcrt1.o 91*3e0c8044SRichard Lowe 92*3e0c8044SRichard Lowe$(ROOTLIB64)/%.o: %.o 93*3e0c8044SRichard Lowe $(INS.file) 94*3e0c8044SRichard Lowe 95*3e0c8044SRichard Lowe$(ROOTLIB64)/gcrt1.o: 96*3e0c8044SRichard Lowe $(RM) $(ROOTLIB64)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB64)/gcrt1.o 97*3e0c8044SRichard Lowe 98*3e0c8044SRichard LoweFRC: 99