annotate make/solaris/makefiles/adlc.make @ 8804:91bf0bdae37b

8008217: CDS: Class data sharing limits the malloc heap on Solaris Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address. Reviewed-by: kvn, dcubed, zgu, hseigel
author coleenp
date Wed, 20 Mar 2013 08:04:54 -0400
parents b9a9ed0f8eeb
children ce8969c36762
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6842
b9a9ed0f8eeb 7197424: update copyright year to match last edit in jdk8 hotspot repository
mikael
parents: 4891
diff changeset
2 # Copyright (c) 1997, 2012, 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
2199
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 1972
diff changeset
30 include $(GAMMADIR)/make/altsrc.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
31
a61af66fc99e Initial load
duke
parents:
diff changeset
32 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
33
a61af66fc99e Initial load
duke
parents:
diff changeset
34 # OUTDIR must be the same as AD_Dir = $(GENERATED)/adfiles in top.make:
a61af66fc99e Initial load
duke
parents:
diff changeset
35 GENERATED = ../generated
a61af66fc99e Initial load
duke
parents:
diff changeset
36 OUTDIR = $(GENERATED)/adfiles
a61af66fc99e Initial load
duke
parents:
diff changeset
37
a61af66fc99e Initial load
duke
parents:
diff changeset
38 ARCH = $(Platform_arch)
a61af66fc99e Initial load
duke
parents:
diff changeset
39 OS = $(Platform_os_family)
a61af66fc99e Initial load
duke
parents:
diff changeset
40
a61af66fc99e Initial load
duke
parents:
diff changeset
41 SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
a61af66fc99e Initial load
duke
parents:
diff changeset
42
4761
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
43 ifeq ("${Platform_arch_model}", "${Platform_arch}")
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
44 SOURCES.AD = \
2199
d8a72fbc4be7 7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents: 1972
diff changeset
45 $(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: 1972
diff changeset
46 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
4761
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
47 else
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
48 SOURCES.AD = \
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
49 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
50 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
51 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 2426
diff changeset
52 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
53
a61af66fc99e Initial load
duke
parents:
diff changeset
54 EXEC = $(OUTDIR)/adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
55
a61af66fc99e Initial load
duke
parents:
diff changeset
56 # set VPATH so make knows where to look for source files
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
57 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
58 VPATH += $(Src_Dirs_V:%=%:)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
59
a61af66fc99e Initial load
duke
parents:
diff changeset
60 # set INCLUDES for C preprocessor
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
61 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
62 INCLUDES += $(Src_Dirs_I:%=-I%)
a61af66fc99e Initial load
duke
parents:
diff changeset
63
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
64 # set flags for adlc compilation
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
65 CXXFLAGS = $(SYSDEFS) $(INCLUDES)
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
66
0
a61af66fc99e Initial load
duke
parents:
diff changeset
67 # Force assertions on.
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
68 CXXFLAGS += -DASSERT
0
a61af66fc99e Initial load
duke
parents:
diff changeset
69
a61af66fc99e Initial load
duke
parents:
diff changeset
70 ifndef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
71 # We need libCstd.so for adlc
a61af66fc99e Initial load
duke
parents:
diff changeset
72 CFLAGS += -library=Cstd -g
a61af66fc99e Initial load
duke
parents:
diff changeset
73 LFLAGS += -library=Cstd -g
a61af66fc99e Initial load
duke
parents:
diff changeset
74 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
75
a61af66fc99e Initial load
duke
parents:
diff changeset
76 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
603
dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors
twisti
parents: 475
diff changeset
77 # Compiler warnings are treated as errors
821
d1fe2c2fbdac 6851829: solaris build fails with 5.8 compilers
twisti
parents: 628
diff changeset
78 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
d1fe2c2fbdac 6851829: solaris build fails with 5.8 compilers
twisti
parents: 628
diff changeset
79 CFLAGS_WARN = +w -errwarn
d1fe2c2fbdac 6851829: solaris build fails with 5.8 compilers
twisti
parents: 628
diff changeset
80 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
81 CFLAGS += $(CFLAGS_WARN)
a61af66fc99e Initial load
duke
parents:
diff changeset
82
a61af66fc99e Initial load
duke
parents:
diff changeset
83 ifeq ("${Platform_compiler}", "sparcWorks")
a61af66fc99e Initial load
duke
parents:
diff changeset
84 # Enable the following CFLAGS addition if you need to compare the
a61af66fc99e Initial load
duke
parents:
diff changeset
85 # built ELF objects.
a61af66fc99e Initial load
duke
parents:
diff changeset
86 #
a61af66fc99e Initial load
duke
parents:
diff changeset
87 # The -g option makes static data global and the "-Qoption ccfe
a61af66fc99e Initial load
duke
parents:
diff changeset
88 # -xglobalstatic" option tells the compiler to not globalize static
a61af66fc99e Initial load
duke
parents:
diff changeset
89 # data using a unique globalization prefix. Instead force the use
a61af66fc99e Initial load
duke
parents:
diff changeset
90 # of a static globalization prefix based on the source filepath so
a61af66fc99e Initial load
duke
parents:
diff changeset
91 # the objects from two identical compilations are the same.
a61af66fc99e Initial load
duke
parents:
diff changeset
92 #CFLAGS += -Qoption ccfe -xglobalstatic
a61af66fc99e Initial load
duke
parents:
diff changeset
93 endif # Platform_compiler == sparcWorks
a61af66fc99e Initial load
duke
parents:
diff changeset
94
a61af66fc99e Initial load
duke
parents:
diff changeset
95 OBJECTNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
96 adlparse.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
97 archDesc.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
98 arena.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
99 dfa.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
100 dict2.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
101 filebuff.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
102 forms.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
103 formsopt.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
104 formssel.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
105 main.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
106 adlc-opcodes.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
107 output_c.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
108 output_h.o \
a61af66fc99e Initial load
duke
parents:
diff changeset
109
a61af66fc99e Initial load
duke
parents:
diff changeset
110 OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
111
a61af66fc99e Initial load
duke
parents:
diff changeset
112 GENERATEDNAMES = \
a61af66fc99e Initial load
duke
parents:
diff changeset
113 ad_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
114 ad_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
115 ad_$(Platform_arch_model)_clone.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
116 ad_$(Platform_arch_model)_expand.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
117 ad_$(Platform_arch_model)_format.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
118 ad_$(Platform_arch_model)_gen.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
119 ad_$(Platform_arch_model)_misc.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
120 ad_$(Platform_arch_model)_peephole.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
121 ad_$(Platform_arch_model)_pipeline.cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
122 adGlobals_$(Platform_arch_model).hpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
123 dfa_$(Platform_arch_model).cpp \
a61af66fc99e Initial load
duke
parents:
diff changeset
124
a61af66fc99e Initial load
duke
parents:
diff changeset
125 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
a61af66fc99e Initial load
duke
parents:
diff changeset
126
a61af66fc99e Initial load
duke
parents:
diff changeset
127 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
128
a61af66fc99e Initial load
duke
parents:
diff changeset
129 all: $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
130
a61af66fc99e Initial load
duke
parents:
diff changeset
131 $(EXEC) : $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
132 @echo Making adlc
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
133 $(QUIETLY) $(LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
134
a61af66fc99e Initial load
duke
parents:
diff changeset
135 # Random dependencies:
a61af66fc99e Initial load
duke
parents:
diff changeset
136 $(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
137
a61af66fc99e Initial load
duke
parents:
diff changeset
138 # The source files refer to ostream.h, which sparcworks calls iostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
139 $(OBJECTS): ostream.h
a61af66fc99e Initial load
duke
parents:
diff changeset
140
a61af66fc99e Initial load
duke
parents:
diff changeset
141 ostream.h :
a61af66fc99e Initial load
duke
parents:
diff changeset
142 @echo >$@ '#include <iostream.h>'
a61af66fc99e Initial load
duke
parents:
diff changeset
143
a61af66fc99e Initial load
duke
parents:
diff changeset
144 dump:
a61af66fc99e Initial load
duke
parents:
diff changeset
145 : OUTDIR=$(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
146 : OBJECTS=$(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
147 : products = $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
148
a61af66fc99e Initial load
duke
parents:
diff changeset
149 all: $(GENERATEDFILES)
a61af66fc99e Initial load
duke
parents:
diff changeset
150
a61af66fc99e Initial load
duke
parents:
diff changeset
151 $(GENERATEDFILES): refresh_adfiles
a61af66fc99e Initial load
duke
parents:
diff changeset
152
a61af66fc99e Initial load
duke
parents:
diff changeset
153 # Get a unique temporary directory name, so multiple makes can run in parallel.
a61af66fc99e Initial load
duke
parents:
diff changeset
154 # Note that product files are updated via "mv", which is atomic.
a61af66fc99e Initial load
duke
parents:
diff changeset
155 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
a61af66fc99e Initial load
duke
parents:
diff changeset
156
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 821
diff changeset
157 # Debuggable by default
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 821
diff changeset
158 CFLAGS += -g
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 821
diff changeset
159
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
160 # Pass -D flags into ADLC.
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
161 ADLCFLAGS += $(SYSDEFS)
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
162
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
163 # 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
164 ADLCFLAGS += -q -T
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
165
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
166 # 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
167 # But -g will put #line directives in those files pointing back to <arch>.ad.
1396
d7f654633cfe 6946040: add intrinsic for short and char reverseBytes
never
parents: 821
diff changeset
168 ADLCFLAGS += -g
0
a61af66fc99e Initial load
duke
parents:
diff changeset
169
a61af66fc99e Initial load
duke
parents:
diff changeset
170 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
171 ADLCFLAGS += -D_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
172 else
a61af66fc99e Initial load
duke
parents:
diff changeset
173 ADLCFLAGS += -U_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
174 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
175
a61af66fc99e Initial load
duke
parents:
diff changeset
176 #
a61af66fc99e Initial load
duke
parents:
diff changeset
177 # adlc_updater is a simple sh script, under sccs control. It is
a61af66fc99e Initial load
duke
parents:
diff changeset
178 # used to selectively update generated adlc files. This should
a61af66fc99e Initial load
duke
parents:
diff changeset
179 # provide a nice compilation speed improvement.
a61af66fc99e Initial load
duke
parents:
diff changeset
180 #
91
a294fd0c4b38 6583644: Move all managed/SCCS files out of 'build' into 'make' directory
kamg
parents: 0
diff changeset
181 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
182 ADLC_UPDATER = adlc_updater
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
183 $(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
184 $(QUIETLY) cp $< $@; chmod +x $@
0
a61af66fc99e Initial load
duke
parents:
diff changeset
185
a61af66fc99e Initial load
duke
parents:
diff changeset
186 # This action refreshes all generated adlc files simultaneously.
a61af66fc99e Initial load
duke
parents:
diff changeset
187 # The way it works is this:
a61af66fc99e Initial load
duke
parents:
diff changeset
188 # 1) create a scratch directory to work in.
a61af66fc99e Initial load
duke
parents:
diff changeset
189 # 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
a61af66fc99e Initial load
duke
parents:
diff changeset
190 # 3) run the compiled adlc executable. This will create new adlc files in the scratch directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
191 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
a61af66fc99e Initial load
duke
parents:
diff changeset
192 # 5) If we actually updated any files, echo a notice.
a61af66fc99e Initial load
duke
parents:
diff changeset
193 #
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
194 refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
195 @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
196 $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
a61af66fc99e Initial load
duke
parents:
diff changeset
197 -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
198 || { rm -rf $(TEMPDIR); exit 1; }
a61af66fc99e Initial load
duke
parents:
diff changeset
199 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
200 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
201 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
202 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
203 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
204 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
205 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
206 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
207 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
208 $(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
209 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
210 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
a61af66fc99e Initial load
duke
parents:
diff changeset
211 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
a61af66fc99e Initial load
duke
parents:
diff changeset
212 $(QUIETLY) rm -rf $(TEMPDIR)
a61af66fc99e Initial load
duke
parents:
diff changeset
213
a61af66fc99e Initial load
duke
parents:
diff changeset
214
a61af66fc99e Initial load
duke
parents:
diff changeset
215 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
216
a61af66fc99e Initial load
duke
parents:
diff changeset
217 $(SOURCE.AD): $(SOURCES.AD)
475
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
218 $(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
219
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
220 #PROCESS_AD_FILES = cat
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
221 # 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
222 PROCESS_AD_FILES = awk '{ \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
223 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
224 if (need_lineno && $$0 !~ /\/\//) \
284d0af00d53 6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents: 196
diff changeset
225 { 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
226 print }'
0
a61af66fc99e Initial load
duke
parents:
diff changeset
227
a61af66fc99e Initial load
duke
parents:
diff changeset
228 $(OUTDIR)/%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
229 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
230 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
231 $(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
232
a61af66fc99e Initial load
duke
parents:
diff changeset
233 # Some object files are given a prefix, to disambiguate
a61af66fc99e Initial load
duke
parents:
diff changeset
234 # them from objects of the same name built for the VM.
a61af66fc99e Initial load
duke
parents:
diff changeset
235 $(OUTDIR)/adlc-%.o: %.cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
236 @echo Compiling $<
a61af66fc99e Initial load
duke
parents:
diff changeset
237 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
238 $(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
239
a61af66fc99e Initial load
duke
parents:
diff changeset
240 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
241
a61af66fc99e Initial load
duke
parents:
diff changeset
242 clean :
a61af66fc99e Initial load
duke
parents:
diff changeset
243 rm $(OBJECTS)
a61af66fc99e Initial load
duke
parents:
diff changeset
244
a61af66fc99e Initial load
duke
parents:
diff changeset
245 cleanall :
a61af66fc99e Initial load
duke
parents:
diff changeset
246 rm $(OBJECTS) $(EXEC)
a61af66fc99e Initial load
duke
parents:
diff changeset
247
a61af66fc99e Initial load
duke
parents:
diff changeset
248 # #########################################################################
a61af66fc99e Initial load
duke
parents:
diff changeset
249
a61af66fc99e Initial load
duke
parents:
diff changeset
250 .PHONY: all dump refresh_adfiles clean cleanall