annotate make/linux/makefiles/adlc.make @ 3927:f1b4e0e0bdad

7089625: G1: policy for how many old regions to add to the CSet (when young gen is fixed) is broken Summary: When refactoring the code for a previous fix, a condition was not correctly negated which prevents the G1 policy from adding the correct number of old regions to the CSet when the young gen size is fixed. The changeset also fixes a small syntactical issue in g1ErgoVerbose.hpp which is causing compiler warnings. Reviewed-by: brutisso, ysr
author tonyp
date Tue, 13 Sep 2011 12:40:14 -0400
parents 7e88bdae86ec
children 0654ee04b214 65149e74c706
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
2199
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 2192
diff changeset
2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. 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 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1396
diff changeset
21 # questions.
0
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
2199
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 2192
diff changeset
42 SOURCES.AD = \
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 2192
diff changeset
43 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 2192
diff changeset
44 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
45
a61af66fc99e Initial load
duke
parents:
diff changeset
46 EXEC = $(OUTDIR)/adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
47
a61af66fc99e Initial load
duke
parents:
diff changeset
48 # set VPATH so make knows where to look for source files
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1606
diff changeset
49 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1606
diff changeset
50 VPATH += $(Src_Dirs_V:%=%:)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
51
a61af66fc99e Initial load
duke
parents:
diff changeset
52 # set INCLUDES for C preprocessor
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1606
diff changeset
53 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
54 INCLUDES += $(Src_Dirs_I:%=-I%)
a61af66fc99e Initial load
duke
parents:
diff changeset
55
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
56 # set flags for adlc compilation
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
57 CPPFLAGS = $(SYSDEFS) $(INCLUDES)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
58
0
a61af66fc99e Initial load
duke
parents:
diff changeset
59 # Force assertions on.
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
60 CPPFLAGS += -DASSERT
0
a61af66fc99e Initial load
duke
parents:
diff changeset
61
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
603
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
63 # Compiler warnings are treated as errors
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
64 CFLAGS_WARN = -Werror
0
a61af66fc99e Initial load
duke
parents:
diff changeset
65 CFLAGS += $(CFLAGS_WARN)
a61af66fc99e Initial load
duke
parents:
diff changeset
66
a61af66fc99e Initial load
duke
parents:
diff changeset
67 OBJECTNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
68 adlparse.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
69 archDesc.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
70 arena.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
71 dfa.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
72 dict2.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
73 filebuff.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
74 forms.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
75 formsopt.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
76 formssel.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
77 main.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
78 adlc-opcodes.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
79 output_c.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
80 output_h.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
81
a61af66fc99e Initial load
duke
parents:
diff changeset
82 OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
83
a61af66fc99e Initial load
duke
parents:
diff changeset
84 GENERATEDNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
85 ad_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
86 ad_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
87 ad_$(Platform_arch_model)_clone.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
88 ad_$(Platform_arch_model)_expand.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
89 ad_$(Platform_arch_model)_format.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
90 ad_$(Platform_arch_model)_gen.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
91 ad_$(Platform_arch_model)_misc.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
92 ad_$(Platform_arch_model)_peephole.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
93 ad_$(Platform_arch_model)_pipeline.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
94 adGlobals_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
95 dfa_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
96
a61af66fc99e Initial load
duke
parents:
diff changeset
97 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
98
a61af66fc99e Initial load
duke
parents:
diff changeset
99 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
100
a61af66fc99e Initial load
duke
parents:
diff changeset
101 all: $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
102
a61af66fc99e Initial load
duke
parents:
diff changeset
103 $(EXEC) : $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
104 @echo Making adlc
2401
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2199
diff changeset
105 $(QUIETLY) $(HOST.LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
106
a61af66fc99e Initial load
duke
parents:
diff changeset
107 # Random dependencies:
a61af66fc99e Initial load
duke
parents:
diff changeset
108 $(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
109
a61af66fc99e Initial load
duke
parents:
diff changeset
110 # The source files refer to ostream.h, which sparcworks calls iostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
111 $(OBJECTS): ostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
112
a61af66fc99e Initial load
duke
parents:
diff changeset
113 ostream.h :
a61af66fc99e Initial load
duke
parents:
diff changeset
114 @echo >$@ '#include <iostream.h>'
a61af66fc99e Initial load
duke
parents:
diff changeset
115
a61af66fc99e Initial load
duke
parents:
diff changeset
116 dump:
a61af66fc99e Initial load
duke
parents:
diff changeset
117 : OUTDIR=$(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
118 : OBJECTS=$(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
119 : products = $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
120
a61af66fc99e Initial load
duke
parents:
diff changeset
121 all: $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
122
a61af66fc99e Initial load
duke
parents:
diff changeset
123 $(GENERATEDFILES): refresh_adfiles
a61af66fc99e Initial load
duke
parents:
diff changeset
124
a61af66fc99e Initial load
duke
parents:
diff changeset
125 # Get a unique temporary directory name, so multiple makes can run in parallel.
a61af66fc99e Initial load
duke
parents:
diff changeset
126 # Note that product files are updated via "mv", which is atomic.
a61af66fc99e Initial load
duke
parents:
diff changeset
127 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
a61af66fc99e Initial load
duke
parents:
diff changeset
128
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 628
diff changeset
129 # Debuggable by default
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 628
diff changeset
130 CFLAGS += -g
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 628
diff changeset
131
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
132 # Pass -D flags into ADLC.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
133 ADLCFLAGS += $(SYSDEFS)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
134
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
135 # 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
136 ADLCFLAGS += -q -T
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
137
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
138 # 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
139 # But -g will put #line directives in those files pointing back to <arch>.ad.
1606
0b4ee1df1b44 6952176: Remove debug flag from adlc makefile for 6Update trains
never
parents: 1552
diff changeset
140 # Some builds of gcc 3.2 have a bug that gets tickled by the extra #line directives
0b4ee1df1b44 6952176: Remove debug flag from adlc makefile for 6Update trains
never
parents: 1552
diff changeset
141 # so skip it for 3.2 and ealier.
0b4ee1df1b44 6952176: Remove debug flag from adlc makefile for 6Update trains
never
parents: 1552
diff changeset
142 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 628
diff changeset
143 ADLCFLAGS += -g
1606
0b4ee1df1b44 6952176: Remove debug flag from adlc makefile for 6Update trains
never
parents: 1552
diff changeset
144 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
145
a61af66fc99e Initial load
duke
parents:
diff changeset
146 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
147 ADLCFLAGS += -D_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
148 else
a61af66fc99e Initial load
duke
parents:
diff changeset
149 ADLCFLAGS += -U_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
150 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
151
a61af66fc99e Initial load
duke
parents:
diff changeset
152 #
a61af66fc99e Initial load
duke
parents:
diff changeset
153 # adlc_updater is a simple sh script, under sccs control. It is
a61af66fc99e Initial load
duke
parents:
diff changeset
154 # used to selectively update generated adlc files. This should
a61af66fc99e Initial load
duke
parents:
diff changeset
155 # provide a nice compilation speed improvement.
a61af66fc99e Initial load
duke
parents:
diff changeset
156 #
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
157 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
158 ADLC_UPDATER = adlc_updater
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
159 $(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
160 $(QUIETLY) cp $< $@; chmod +x $@
0
a61af66fc99e Initial load
duke
parents:
diff changeset
161
a61af66fc99e Initial load
duke
parents:
diff changeset
162 # This action refreshes all generated adlc files simultaneously.
a61af66fc99e Initial load
duke
parents:
diff changeset
163 # The way it works is this:
a61af66fc99e Initial load
duke
parents:
diff changeset
164 # 1) create a scratch directory to work in.
a61af66fc99e Initial load
duke
parents:
diff changeset
165 # 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
a61af66fc99e Initial load
duke
parents:
diff changeset
166 # 3) run the compiled adlc executable. This will create new adlc files in the scratch directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
167 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
a61af66fc99e Initial load
duke
parents:
diff changeset
168 # 5) If we actually updated any files, echo a notice.
a61af66fc99e Initial load
duke
parents:
diff changeset
169 #
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
170 refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
171 @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
172 $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
a61af66fc99e Initial load
duke
parents:
diff changeset
173 -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
174 || { rm -rf $(TEMPDIR); exit 1; }
a61af66fc99e Initial load
duke
parents:
diff changeset
175 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
176 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
177 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
178 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
179 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
180 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
181 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
182 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
183 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
184 $(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
185 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
186 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
a61af66fc99e Initial load
duke
parents:
diff changeset
187 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
a61af66fc99e Initial load
duke
parents:
diff changeset
188 $(QUIETLY) rm -rf $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
189
a61af66fc99e Initial load
duke
parents:
diff changeset
190
a61af66fc99e Initial load
duke
parents:
diff changeset
191 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
192
a61af66fc99e Initial load
duke
parents:
diff changeset
193 $(SOURCE.AD): $(SOURCES.AD)
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
194 $(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
195
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
196 #PROCESS_AD_FILES = cat
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
197 # 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
198 PROCESS_AD_FILES = awk '{ \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
199 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
200 if (need_lineno && $$0 !~ /\/\//) \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
201 { 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
202 print }'
0
a61af66fc99e Initial load
duke
parents:
diff changeset
203
a61af66fc99e Initial load
duke
parents:
diff changeset
204 $(OUTDIR)/%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
205 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
206 $(QUIETLY) $(REMOVE_TARGET)
2401
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2199
diff changeset
207 $(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
208
a61af66fc99e Initial load
duke
parents:
diff changeset
209 # Some object files are given a prefix, to disambiguate
a61af66fc99e Initial load
duke
parents:
diff changeset
210 # them from objects of the same name built for the VM.
a61af66fc99e Initial load
duke
parents:
diff changeset
211 $(OUTDIR)/adlc-%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
212 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
213 $(QUIETLY) $(REMOVE_TARGET)
2401
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2199
diff changeset
214 $(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
215
a61af66fc99e Initial load
duke
parents:
diff changeset
216 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
217
a61af66fc99e Initial load
duke
parents:
diff changeset
218 clean :
a61af66fc99e Initial load
duke
parents:
diff changeset
219 rm $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
220
a61af66fc99e Initial load
duke
parents:
diff changeset
221 cleanall :
a61af66fc99e Initial load
duke
parents:
diff changeset
222 rm $(OBJECTS) $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
223
a61af66fc99e Initial load
duke
parents:
diff changeset
224 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
225
a61af66fc99e Initial load
duke
parents:
diff changeset
226 .PHONY: all dump refresh_adfiles clean cleanall