Print this page
1961 investigate stopping uniquifying CTF information
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Joshua M. Clulow <josh@sysmgr.org>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/sun4u/opl/unix/Makefile
+++ new/usr/src/uts/sun4u/opl/unix/Makefile
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 25
26 26 #
27 27 # This makefile drives the production of unix (and unix.o).
28 28 #
29 29 # sun4u opl implementation architecture dependent
30 30 #
31 31 # uts/sun4u/opl/unix/Makefile
32 32 #
33 33
34 34 #
35 35 # Path to the base of the uts directory tree (usually /usr/src/uts).
36 36 #
37 37 UTSBASE = ../../..
38 38
39 39 #
40 40 # Define the module and object file sets.
41 41 #
42 42 UNIX = unix
43 43 OBJECTS = $(SPECIAL_OBJS:%=$(OBJS_DIR)/%) \
44 44 $(CORE_OBJS:%=$(OBJS_DIR)/%) \
45 45 $(MACH_NOT_YET_KMODS:%=$(OBJS_DIR)/%)
46 46 LINTS = $(SPECIAL_OBJS:%.o=$(LINTS_DIR)/%.ln) \
47 47 $(CORE_OBJS:%.o=$(LINTS_DIR)/%.ln) \
48 48 $(MACH_NOT_YET_KMODS:%.o=$(LINTS_DIR)/%.ln) \
49 49 $(LINTS_DIR)/vers.ln \
50 50 $(LINTS_DIR)/modstubs.ln
51 51
52 52 KRTLD_MAPFILE = $(UTSBASE)/sparc/krtld/mapfile
53 53 KRTLD_OBJECTS = $(KRTLD_OBJS:%=$(OBJS_DIR)/%)
54 54 KRTLD_O = $(OBJS_DIR)/krtld.o
55 55
56 56 ROOTMODULE = $(ROOT_OPL_KERN_DIR)/$(UNIX)
57 57 UNIX_BIN = $(OBJS_DIR)/$(UNIX)
58 58
59 59 LIBS = $(GENLIB) $(PLATLIB) $(CPULIB)
60 60
61 61 GENUNIX = genunix
62 62 GENUNIX_DIR = ../../$(GENUNIX)
63 63 GENOPTS = -L $(GENUNIX_DIR)/$(OBJS_DIR) -l $(GENUNIX)
64 64
65 65 CPU_DIR = .
66 66 CPUOPTS = -L $(CPU_DIR)/$(OBJS_DIR) -l $(CPUNAME)
67 67
68 68 PLAT_DIR = ../../platmod
69 69 PLATOPTS = -L $(PLAT_DIR)/$(OBJS_DIR) -l $(PLATMOD)
70 70
71 71 LIBOPTS = $(GENOPTS) $(PLATOPTS) $(CPUOPTS)
72 72
73 73 CTFEXTRAOBJS = $(OBJS_DIR)/vers.o
74 74
75 75 #
76 76 # Include common rules.
77 77 #
78 78 include $(UTSBASE)/sun4u/opl/Makefile.opl
79 79
80 80 #
81 81 # Define targets
82 82 #
83 83 ALL_TARGET = $(UNIX_BIN)
84 84 LINT_TARGET = $(LINT_LIB)
85 85 INSTALL_TARGET = $(UNIX_BIN) $(ROOTMODULE)
86 86
87 87 #
88 88 # Overrides
89 89 #
90 90 ALL_BUILDS = $(ALL_BUILDSONLY64)
91 91 DEF_BUILDS = $(DEF_BUILDSONLY64)
92 92 SYM_BUILDS = $(DEF_BUILDSONLY64)
93 93 CLEANLINTFILES += $(LINT32_FILES)
94 94
95 95 #
96 96 # This is UNIX_DIR. Use a short path.
97 97 #
98 98 UNIX_DIR = .
99 99
100 100 #
101 101 # Overrides
102 102 #
103 103 CLEANFILES += $(UNIX_O) $(MODSTUBS_O) $(KRTLD_O) $(KRTLD_OBJECTS) \
104 104 $(OBJS_DIR)/vers.c $(OBJS_DIR)/vers.o \
105 105 $(CPU_OBJ) $(CPULIB) \
106 106 $(DTRACESTUBS_O) $(DTRACESTUBS)
107 107
108 108 CLOBBERFILES = $(CLEANFILES) $(UNIX_BIN)
109 109 CLEANLINTFILES += $(LINT_LIB)
110 110
111 111 #
112 112 # lint pass one enforcement
113 113 # Turn on doubleword alignment for 64 bit counter timer registers
114 114 #
115 115 CFLAGS += $(CCVERBOSE) -dalign
116 116
117 117 CERRWARN += -_gcc=-Wno-parentheses
118 118 CERRWARN += -_gcc=-Wno-uninitialized
119 119 CERRWARN += -_gcc=-Wno-char-subscripts
120 120 CERRWARN += -_gcc=-Wno-unused-variable
121 121 CERRWARN += -_gcc=-Wno-unused-function
122 122 CERRWARN += -_gcc=-Wno-unused-label
123 123 CERRWARN += -_gcc=-Wno-type-limits
124 124 CERRWARN += -_gcc=-Wno-clobbered
125 125 CERRWARN += -_gcc=-Wno-empty-body
126 126 CERRWARN += -_gcc=-Wno-unused-value
127 127 CERRWARN += -_gcc=-Wno-switch
128 128
129 129 #
130 130 # Default build targets.
131 131 #
132 132 .KEEP_STATE:
133 133
134 134 all: $(ALL_DEPS)
135 135
136 136 def: $(DEF_DEPS)
137 137
138 138 clean: $(CLEAN_DEPS)
139 139
140 140 clobber: $(CLOBBER_DEPS)
141 141
142 142 lint: $(LINT_DEPS)
143 143
↓ open down ↓ |
143 lines elided |
↑ open up ↑ |
144 144 clean.lint: $(CLEAN_LINT_DEPS)
145 145
146 146 install: $(INSTALL_DEPS)
147 147
148 148 symcheck: $(SYM_DEPS)
149 149
150 150 $(UNIX_BIN): $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(MAPFILE) $(LIBS) \
151 151 $(DTRACESTUBS)
152 152 $(LD) -dy -b -o $@ -e _start -M $(MAPFILE) \
153 153 $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBOPTS) $(DTRACESTUBS)
154 - $(CTFMERGE_UNIQUIFY_AGAINST_GENUNIX)
154 + $(CTFMERGE_MODULE)
155 155 $(POST_PROCESS)
156 156
157 157 symcheck.targ: $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBS) $(DTRACESTUBS)
158 158 $(LD) -dy -b -o $(SYM_MOD) -M $(MAPFILE) \
159 159 $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBOPTS) $(DTRACESTUBS)
160 160
161 161 $(UNIX_O): $(OBJECTS) $(OBJS_DIR)/vers.o
162 162 $(LD) -r -o $@ $(OBJECTS) $(OBJS_DIR)/vers.o
163 163
164 164 $(KRTLD_O): $(KRTLD_OBJECTS)
165 165 $(LD) -r -o $@ -M$(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
166 166
167 167 #
168 168 # CPU_OBJ now comprises of 2 object files which come from sun4 common
169 169 # and from architecture dependent code. OBJS_DIR is prepended where
170 170 # CPU_OBJ is defined to allow for building multiple CPU_OBJ's
171 171 #
172 172 $(CPULIB): $(CPU_OBJ)
173 173 $(LD) -o $@ -G -h 'cpu/$$CPU' $(CPU_OBJ)
174 174
175 175 #
176 176 # The global lint target builds the kernel lint library (llib-lunix.ln)
177 177 # which is equivalent to a lint of /unix.o. Then all kernel modules for
178 178 # this architecture are linted against the kernel lint library.
179 179 #
180 180 # Note: lint errors in the kernel lint library will be repeated for
181 181 # each module. It is important that the kernel lint library
182 182 # be clean to keep the textual output to a reasonable level.
183 183 #
184 184
185 185 $(LINT_LIB): $(LINT_LIB_DIR) $(LINTS)
186 186 @-$(ECHO) "\n$(UNIX): (library construction):"
187 187 @$(LINT) -o $(UNIX) $(LINTFLAGS) $(LINTS)
188 188 @$(MV) $(@F) $@
189 189
190 190 lintlib: $(LINT_DEPS)
191 191
192 192 #
193 193 # Include common targets.
194 194 #
195 195 include $(UTSBASE)/sun4u/opl/Makefile.targ
↓ open down ↓ |
31 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX