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