annotate make/solaris/makefiles/adlc.make @ 807:d44bdab1c03d

6843694: G1: assert(index < _vs.committed_size(),"bad index"), g1BlockOffsetTable.inline.hpp:55 Summary: For heaps larger than 32Gb, the number of heap regions overflows the data type used to hold the region index in the SparsePRT structure. Changed the region indexes, card indexes, and RSet hash table buckets to ints and added some size overflow guarantees. Reviewed-by: ysr, tonyp
author johnc
date Thu, 11 Jun 2009 17:19:33 -0700
parents 7bb995fbd3c0
children d1fe2c2fbdac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
603
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
2 # Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
a61af66fc99e Initial load
duke
parents:
diff changeset
19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
a61af66fc99e Initial load
duke
parents:
diff changeset
20 # CA 95054 USA or visit www.sun.com if you need additional information or
a61af66fc99e Initial load
duke
parents:
diff changeset
21 # have any questions.
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # This makefile (adlc.make) is included from the adlc.make in the
a61af66fc99e Initial load
duke
parents:
diff changeset
26 # build directories.
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # It knows how to compile, link, and run the adlc.
a61af66fc99e Initial load
duke
parents:
diff changeset
28
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
29 include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/rules.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
30
a61af66fc99e Initial load
duke
parents:
diff changeset
31 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
32
a61af66fc99e Initial load
duke
parents:
diff changeset
33 # OUTDIR must be the same as AD_Dir = $(GENERATED)/adfiles in top.make:
a61af66fc99e Initial load
duke
parents:
diff changeset
34 GENERATED = ../generated
a61af66fc99e Initial load
duke
parents:
diff changeset
35 OUTDIR = $(GENERATED)/adfiles
a61af66fc99e Initial load
duke
parents:
diff changeset
36
a61af66fc99e Initial load
duke
parents:
diff changeset
37 ARCH = $(Platform_arch)
a61af66fc99e Initial load
duke
parents:
diff changeset
38 OS = $(Platform_os_family)
a61af66fc99e Initial load
duke
parents:
diff changeset
39
a61af66fc99e Initial load
duke
parents:
diff changeset
40 SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
a61af66fc99e Initial load
duke
parents:
diff changeset
41
a61af66fc99e Initial load
duke
parents:
diff changeset
42 SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \
a61af66fc99e Initial load
duke
parents:
diff changeset
43 $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad
a61af66fc99e Initial load
duke
parents:
diff changeset
44
a61af66fc99e Initial load
duke
parents:
diff changeset
45 Src_Dirs += $(GAMMADIR)/src/share/vm/adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
46
a61af66fc99e Initial load
duke
parents:
diff changeset
47 EXEC = $(OUTDIR)/adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
48
a61af66fc99e Initial load
duke
parents:
diff changeset
49 # set VPATH so make knows where to look for source files
a61af66fc99e Initial load
duke
parents:
diff changeset
50 Src_Dirs_V = ${Src_Dirs} $(GENERATED)/incls
a61af66fc99e Initial load
duke
parents:
diff changeset
51 VPATH += $(Src_Dirs_V:%=%:)
a61af66fc99e Initial load
duke
parents:
diff changeset
52
a61af66fc99e Initial load
duke
parents:
diff changeset
53 # set INCLUDES for C preprocessor
a61af66fc99e Initial load
duke
parents:
diff changeset
54 Src_Dirs_I = ${Src_Dirs} $(GENERATED)
a61af66fc99e Initial load
duke
parents:
diff changeset
55 INCLUDES += $(Src_Dirs_I:%=-I%)
a61af66fc99e Initial load
duke
parents:
diff changeset
56
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
57 # set flags for adlc compilation
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
58 CPPFLAGS = $(SYSDEFS) $(INCLUDES)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
59
0
a61af66fc99e Initial load
duke
parents:
diff changeset
60 # Force assertions on.
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
61 CPPFLAGS += -DASSERT
0
a61af66fc99e Initial load
duke
parents:
diff changeset
62
a61af66fc99e Initial load
duke
parents:
diff changeset
63 ifndef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
64 # We need libCstd.so for adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
65 CFLAGS += -library=Cstd -g
a61af66fc99e Initial load
duke
parents:
diff changeset
66 LFLAGS += -library=Cstd -g
a61af66fc99e Initial load
duke
parents:
diff changeset
67 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
68
a61af66fc99e Initial load
duke
parents:
diff changeset
69 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
603
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
70 # Compiler warnings are treated as errors
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
71 CFLAGS_WARN = +w -errwarn
0
a61af66fc99e Initial load
duke
parents:
diff changeset
72 CFLAGS += $(CFLAGS_WARN)
a61af66fc99e Initial load
duke
parents:
diff changeset
73
a61af66fc99e Initial load
duke
parents:
diff changeset
74 ifeq ("${Platform_compiler}", "sparcWorks")
a61af66fc99e Initial load
duke
parents:
diff changeset
75 # Enable the following CFLAGS addition if you need to compare the
a61af66fc99e Initial load
duke
parents:
diff changeset
76 # built ELF objects.
a61af66fc99e Initial load
duke
parents:
diff changeset
77 #
a61af66fc99e Initial load
duke
parents:
diff changeset
78 # The -g option makes static data global and the "-Qoption ccfe
a61af66fc99e Initial load
duke
parents:
diff changeset
79 # -xglobalstatic" option tells the compiler to not globalize static
a61af66fc99e Initial load
duke
parents:
diff changeset
80 # data using a unique globalization prefix. Instead force the use
a61af66fc99e Initial load
duke
parents:
diff changeset
81 # of a static globalization prefix based on the source filepath so
a61af66fc99e Initial load
duke
parents:
diff changeset
82 # the objects from two identical compilations are the same.
a61af66fc99e Initial load
duke
parents:
diff changeset
83 #CFLAGS += -Qoption ccfe -xglobalstatic
a61af66fc99e Initial load
duke
parents:
diff changeset
84 endif # Platform_compiler == sparcWorks
a61af66fc99e Initial load
duke
parents:
diff changeset
85
a61af66fc99e Initial load
duke
parents:
diff changeset
86 OBJECTNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
87 adlparse.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
88 archDesc.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
89 arena.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
90 dfa.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
91 dict2.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
92 filebuff.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
93 forms.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
94 formsopt.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
95 formssel.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
96 main.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
97 adlc-opcodes.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
98 output_c.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
99 output_h.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
100
a61af66fc99e Initial load
duke
parents:
diff changeset
101 OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
102
a61af66fc99e Initial load
duke
parents:
diff changeset
103 GENERATEDNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
104 ad_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
105 ad_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
106 ad_$(Platform_arch_model)_clone.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
107 ad_$(Platform_arch_model)_expand.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
108 ad_$(Platform_arch_model)_format.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
109 ad_$(Platform_arch_model)_gen.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
110 ad_$(Platform_arch_model)_misc.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
111 ad_$(Platform_arch_model)_peephole.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
112 ad_$(Platform_arch_model)_pipeline.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
113 adGlobals_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
114 dfa_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
115
a61af66fc99e Initial load
duke
parents:
diff changeset
116 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
117
a61af66fc99e Initial load
duke
parents:
diff changeset
118 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
119
a61af66fc99e Initial load
duke
parents:
diff changeset
120 all: $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
121
a61af66fc99e Initial load
duke
parents:
diff changeset
122 $(EXEC) : $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
123 @echo Making adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
124 $(QUIETLY) $(LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
125
a61af66fc99e Initial load
duke
parents:
diff changeset
126 # Random dependencies:
a61af66fc99e Initial load
duke
parents:
diff changeset
127 $(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
a61af66fc99e Initial load
duke
parents:
diff changeset
128
a61af66fc99e Initial load
duke
parents:
diff changeset
129 # The source files refer to ostream.h, which sparcworks calls iostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
130 $(OBJECTS): ostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
131
a61af66fc99e Initial load
duke
parents:
diff changeset
132 ostream.h :
a61af66fc99e Initial load
duke
parents:
diff changeset
133 @echo >$@ '#include <iostream.h>'
a61af66fc99e Initial load
duke
parents:
diff changeset
134
a61af66fc99e Initial load
duke
parents:
diff changeset
135 dump:
a61af66fc99e Initial load
duke
parents:
diff changeset
136 : OUTDIR=$(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
137 : OBJECTS=$(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
138 : products = $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
139
a61af66fc99e Initial load
duke
parents:
diff changeset
140 all: $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
141
a61af66fc99e Initial load
duke
parents:
diff changeset
142 $(GENERATEDFILES): refresh_adfiles
a61af66fc99e Initial load
duke
parents:
diff changeset
143
a61af66fc99e Initial load
duke
parents:
diff changeset
144 # Get a unique temporary directory name, so multiple makes can run in parallel.
a61af66fc99e Initial load
duke
parents:
diff changeset
145 # Note that product files are updated via "mv", which is atomic.
a61af66fc99e Initial load
duke
parents:
diff changeset
146 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
a61af66fc99e Initial load
duke
parents:
diff changeset
147
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
148 # Pass -D flags into ADLC.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
149 ADLCFLAGS += $(SYSDEFS)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
150
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
151 # Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
152 ADLCFLAGS += -q -T
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
153
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
154 # Normally, debugging is done directly on the ad_<arch>*.cpp files.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
155 # But -g will put #line directives in those files pointing back to <arch>.ad.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
156 #ADLCFLAGS += -g
0
a61af66fc99e Initial load
duke
parents:
diff changeset
157
a61af66fc99e Initial load
duke
parents:
diff changeset
158 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
159 ADLCFLAGS += -D_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
160 else
a61af66fc99e Initial load
duke
parents:
diff changeset
161 ADLCFLAGS += -U_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
162 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
163
a61af66fc99e Initial load
duke
parents:
diff changeset
164 #
a61af66fc99e Initial load
duke
parents:
diff changeset
165 # adlc_updater is a simple sh script, under sccs control. It is
a61af66fc99e Initial load
duke
parents:
diff changeset
166 # used to selectively update generated adlc files. This should
a61af66fc99e Initial load
duke
parents:
diff changeset
167 # provide a nice compilation speed improvement.
a61af66fc99e Initial load
duke
parents:
diff changeset
168 #
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
169 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
170 ADLC_UPDATER = adlc_updater
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
171 $(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
172 $(QUIETLY) cp $< $@; chmod +x $@
0
a61af66fc99e Initial load
duke
parents:
diff changeset
173
a61af66fc99e Initial load
duke
parents:
diff changeset
174 # This action refreshes all generated adlc files simultaneously.
a61af66fc99e Initial load
duke
parents:
diff changeset
175 # The way it works is this:
a61af66fc99e Initial load
duke
parents:
diff changeset
176 # 1) create a scratch directory to work in.
a61af66fc99e Initial load
duke
parents:
diff changeset
177 # 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
a61af66fc99e Initial load
duke
parents:
diff changeset
178 # 3) run the compiled adlc executable. This will create new adlc files in the scratch directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
179 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
a61af66fc99e Initial load
duke
parents:
diff changeset
180 # 5) If we actually updated any files, echo a notice.
a61af66fc99e Initial load
duke
parents:
diff changeset
181 #
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
182 refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
183 @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
184 $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
a61af66fc99e Initial load
duke
parents:
diff changeset
185 -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
186 || { rm -rf $(TEMPDIR); exit 1; }
a61af66fc99e Initial load
duke
parents:
diff changeset
187 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
188 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
189 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
190 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
191 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
192 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
193 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
194 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
195 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
196 $(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
197 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
198 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
a61af66fc99e Initial load
duke
parents:
diff changeset
199 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
a61af66fc99e Initial load
duke
parents:
diff changeset
200 $(QUIETLY) rm -rf $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
201
a61af66fc99e Initial load
duke
parents:
diff changeset
202
a61af66fc99e Initial load
duke
parents:
diff changeset
203 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
204
a61af66fc99e Initial load
duke
parents:
diff changeset
205 $(SOURCE.AD): $(SOURCES.AD)
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
206 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
207
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
208 #PROCESS_AD_FILES = cat
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
209 # Pass through #line directives, in case user enables -g option above:
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
210 PROCESS_AD_FILES = awk '{ \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
211 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
212 if (need_lineno && $$0 !~ /\/\//) \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
213 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
214 print }'
0
a61af66fc99e Initial load
duke
parents:
diff changeset
215
a61af66fc99e Initial load
duke
parents:
diff changeset
216 $(OUTDIR)/%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
217 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
218 $(QUIETLY) $(REMOVE_TARGET)
a61af66fc99e Initial load
duke
parents:
diff changeset
219 $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
a61af66fc99e Initial load
duke
parents:
diff changeset
220
a61af66fc99e Initial load
duke
parents:
diff changeset
221 # Some object files are given a prefix, to disambiguate
a61af66fc99e Initial load
duke
parents:
diff changeset
222 # them from objects of the same name built for the VM.
a61af66fc99e Initial load
duke
parents:
diff changeset
223 $(OUTDIR)/adlc-%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
224 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
225 $(QUIETLY) $(REMOVE_TARGET)
a61af66fc99e Initial load
duke
parents:
diff changeset
226 $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
a61af66fc99e Initial load
duke
parents:
diff changeset
227
a61af66fc99e Initial load
duke
parents:
diff changeset
228 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
229
a61af66fc99e Initial load
duke
parents:
diff changeset
230 clean :
a61af66fc99e Initial load
duke
parents:
diff changeset
231 rm $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
232
a61af66fc99e Initial load
duke
parents:
diff changeset
233 cleanall :
a61af66fc99e Initial load
duke
parents:
diff changeset
234 rm $(OBJECTS) $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
235
a61af66fc99e Initial load
duke
parents:
diff changeset
236 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
237
a61af66fc99e Initial load
duke
parents:
diff changeset
238 .PHONY: all dump refresh_adfiles clean cleanall