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