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# Copyright 2019 Joyent, Inc. 26# 27 28CRTI = crti.o 29CRTN = crtn.o 30CRT1 = crt1.o 31VALUES = values-Xa.o values-Xc.o values-Xs.o values-Xt.o \ 32 values-xpg4.o values-xpg6.o 33COMMON_CRT = common-crt.o 34MACH_CRT = mach-crt1.o 35 36# include library definitions 37include ../../Makefile.lib 38 39SRCS = $(VALUES:%.o=../common/%.c) $(COMMON_CRT:%.o=../common/%.c) 40 41POST_PROCESS_O = $(PROCESS_COMMENT) $@ ; $(STRIP) -x $@ 42 43OBJECTS = $(VALUES) $(CRT1) $(CRTI) $(CRTN) 44 45ROOTLIB= $(ROOT)/usr/lib 46ROOTLIB64= $(ROOTLIB)/$(MACH64) 47ROOTOBJECTS= $(OBJECTS:%=$(ROOTLIB)/%) 48ROOTOBJECTS64= $(OBJECTS:%=$(ROOTLIB64)/%) 49 50$(INTEL_BLD)ROOTOBJECTS += $(ROOTLIB)/gcrt1.o 51$(INTEL_BLD)ROOTOBJECTS64 += $(ROOTLIB64)/gcrt1.o 52 53ASFLAGS += -P -D__STDC__ -D_ASM -DPIC $(AS_PICFLAGS) 54 55values-xpg6.o := CPPFLAGS += -I$(SRC)/lib/libc/inc 56$(COMMON_CRT) $(VALUES) := CFLAGS += $(C_PICFLAGS) 57$(COMMON_CRT) $(VALUES) := CFLAGS64 += $(C_PICFLAGS64) 58 59# intentional double exit 60SMOFF += unreachable 61 62.KEEP_STATE: 63 64all: $(OBJECTS) 65 66clean clobber: 67 $(RM) $(OBJECTS) 68 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 98FRC: 99