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:
|
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
28 CRTI = crti.o
29 CRTN = crtn.o
30 CRT1 = crt1.o
31 VALUES = values-Xa.o values-Xc.o values-Xs.o values-Xt.o \
32 values-xpg4.o values-xpg6.o
33 COMMON_CRT = common-crt.o
34 MACH_CRT = mach-crt1.o
35
36 # include library definitions
37 include ../../Makefile.lib
38
39 SRCS = $(VALUES:%.o=../common/%.c) $(COMMON_CRT:%.o=../common/%.c)
40
41 POST_PROCESS_O = $(PROCESS_COMMENT) $@ ; $(STRIP) -x $@
42
43 OBJECTS = $(VALUES) $(CRT1) $(CRTI) $(CRTN)
44
45 ROOTLIB= $(ROOT)/usr/lib
46 ROOTLIB64= $(ROOTLIB)/$(MACH64)
47 ROOTOBJECTS= $(OBJECTS:%=$(ROOTLIB)/%)
48 ROOTOBJECTS64= $(OBJECTS:%=$(ROOTLIB64)/%)
49
50 $(INTEL_BLD)ROOTOBJECTS += $(ROOTLIB)/gcrt1.o
51 $(INTEL_BLD)ROOTOBJECTS64 += $(ROOTLIB64)/gcrt1.o
52
53 ASFLAGS += -P -D__STDC__ -D_ASM -DPIC $(AS_PICFLAGS)
54
55 values-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
60 SMOFF += unreachable
61
62 .KEEP_STATE:
63
64 all: $(OBJECTS)
65
66 clean 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:
|