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 COMPATLINKS= /usr/ccs/lib/values-Xa.o \ 59 /usr/ccs/lib/values-Xc.o \ 60 /usr/ccs/lib/values-Xs.o \ 61 /usr/ccs/lib/values-Xt.o \ 62 /usr/ccs/lib/values-xpg4.o \ 63 /usr/ccs/lib/values-xpg6.o \ 64 /usr/ccs/lib/$(MACH64)/values-Xa.o \ 65 /usr/ccs/lib/$(MACH64)/values-Xc.o \ 66 /usr/ccs/lib/$(MACH64)/values-Xs.o \ 67 /usr/ccs/lib/$(MACH64)/values-Xt.o \ 68 /usr/ccs/lib/$(MACH64)/values-xpg4.o \ 69 /usr/ccs/lib/$(MACH64)/values-xpg6.o 70 71 $(ROOT)/usr/ccs/lib/values-Xa.o:= COMPATLINKTARGET=../../lib/values-Xa.o 72 $(ROOT)/usr/ccs/lib/values-Xc.o:= COMPATLINKTARGET=../../lib/values-Xc.o 73 $(ROOT)/usr/ccs/lib/values-Xs.o:= COMPATLINKTARGET=../../lib/values-Xs.o 74 $(ROOT)/usr/ccs/lib/values-Xt.o:= COMPATLINKTARGET=../../lib/values-Xt.o 75 $(ROOT)/usr/ccs/lib/values-xpg4.o:= COMPATLINKTARGET=../../lib/values-xpg4.o 76 $(ROOT)/usr/ccs/lib/values-xpg6.o:= COMPATLINKTARGET=../../lib/values-xpg6.o 77 $(ROOT)/usr/ccs/lib/$(MACH64)/values-Xa.o:= \ 78 COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xa.o 79 $(ROOT)/usr/ccs/lib/$(MACH64)/values-Xc.o:= \ 80 COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xc.o 81 $(ROOT)/usr/ccs/lib/$(MACH64)/values-Xs.o:= \ 82 COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xs.o 83 $(ROOT)/usr/ccs/lib/$(MACH64)/values-Xt.o:= \ 84 COMPATLINKTARGET=../../../lib/$(MACH64)/values-Xt.o 85 $(ROOT)/usr/ccs/lib/$(MACH64)/values-xpg4.o:= \ 86 COMPATLINKTARGET=../../../lib/$(MACH64)/values-xpg4.o 87 $(ROOT)/usr/ccs/lib/$(MACH64)/values-xpg6.o:= \ 88 COMPATLINKTARGET=../../../lib/$(MACH64)/values-xpg6.o 89 90 .KEEP_STATE: 91 92 all: $(OBJECTS) 93 94 clean clobber: 95 $(RM) $(OBJECTS) 96 97 %.lint: ../common/%.c 98 $(LINT.c) $(LINTCHECKFLAGS) $< 99 100 lint: $(VALUES:%.o=%.lint) $(COMMON_CRT:%.o=%.lint) 101 102 $(CRT1): $(COMMON_CRT) $(MACH_CRT) 103 $(LD) -r $(MACH_CRT) $(COMMON_CRT) -o $(CRT1) 104 105 %.o: ../common/%.c 106 $(COMPILE.c) -o $@ $< 107 $(POST_PROCESS_O) 108 109 %.o: %.s 110 $(COMPILE.s) -o $@ $< 111 $(POST_PROCESS_O) 112 113 %.o: ../$(MACH)/%.s 114 $(COMPILE.s) -o $@ $< 115 $(POST_PROCESS_O) 116 117 # install rule for ROOTOBJECTS and ROOTOBJECTS64 118 $(ROOTLIB)/%.o: %.o 119 $(INS.file) 120 121 $(ROOTLIB)/gcrt1.o: 122 $(RM) $(ROOTLIB)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB)/gcrt1.o 123 124 $(ROOTLIB64)/%.o: %.o 125 $(INS.file) 126 127 $(ROOTLIB64)/gcrt1.o: 128 $(RM) $(ROOTLIB64)/gcrt1.o; $(SYMLINK) crt1.o $(ROOTLIB64)/gcrt1.o 129 130 $(ROOTCOMPATLINKS): 131 $(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@