annotate make/solaris/makefiles/adlc.make @ 17716:cdb71841f4bc

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