annotate make/bsd/makefiles/adlc.make @ 5705:f96e7b39e9fe

Be more strict on isInt check in CAS lowering when index is constant Use array write barrier for UnsafeStore if we can't be sure we're not storing to an array
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 27 Jun 2012 15:40:03 +0200
parents 719f7007c8e8
children b9a9ed0f8eeb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
1 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
4 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
7 # published by the Free Software Foundation.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
8 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
13 # accompanied this code).
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
14 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
18 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
21 # questions.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
22 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
23 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
24
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
25 # This makefile (adlc.make) is included from the adlc.make in the
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
26 # build directories.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
27 # It knows how to compile, link, and run the adlc.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
28
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
29 include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/rules.make
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
30
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
31 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
32
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
33 # OUTDIR must be the same as AD_Dir = $(GENERATED)/adfiles in top.make:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
34 GENERATED = ../generated
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
35 OUTDIR = $(GENERATED)/adfiles
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
36
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
37 ARCH = $(Platform_arch)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
38 OS = $(Platform_os_family)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
39
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
40 SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
41
4761
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
42 ifeq ("${Platform_arch_model}", "${Platform_arch}")
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
43 SOURCES.AD = \
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
44 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
45 $(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: 4006
diff changeset
46 else
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
47 SOURCES.AD = \
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
48 $(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: 4006
diff changeset
49 $(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: 4006
diff changeset
50 $(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: 4006
diff changeset
51 endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
52
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
53 EXEC = $(OUTDIR)/adlc
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
54
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
55 # set VPATH so make knows where to look for source files
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
56 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
57 VPATH += $(Src_Dirs_V:%=%:)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
58
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
59 # set INCLUDES for C preprocessor
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
60 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
61 INCLUDES += $(Src_Dirs_I:%=-I%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
62
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
63 # set flags for adlc compilation
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
64 CXXFLAGS = $(SYSDEFS) $(INCLUDES)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
65
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
66 # Force assertions on.
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
67 CXXFLAGS += -DASSERT
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
68
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
69 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
70 # Compiler warnings are treated as errors
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
71 ifneq ($(COMPILER_WARNINGS_FATAL),false)
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
72 CFLAGS_WARN = -Werror
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
73 endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
74 CFLAGS += $(CFLAGS_WARN)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
75
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
76 OBJECTNAMES = \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
77 adlparse.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
78 archDesc.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
79 arena.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
80 dfa.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
81 dict2.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
82 filebuff.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
83 forms.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
84 formsopt.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
85 formssel.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
86 main.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
87 adlc-opcodes.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
88 output_c.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
89 output_h.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
90
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
91 OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
92
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
93 GENERATEDNAMES = \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
94 ad_$(Platform_arch_model).cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
95 ad_$(Platform_arch_model).hpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
96 ad_$(Platform_arch_model)_clone.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
97 ad_$(Platform_arch_model)_expand.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
98 ad_$(Platform_arch_model)_format.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
99 ad_$(Platform_arch_model)_gen.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
100 ad_$(Platform_arch_model)_misc.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
101 ad_$(Platform_arch_model)_peephole.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
102 ad_$(Platform_arch_model)_pipeline.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
103 adGlobals_$(Platform_arch_model).hpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
104 dfa_$(Platform_arch_model).cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
105
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
106 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
107
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
108 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
109
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
110 all: $(EXEC)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
111
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
112 $(EXEC) : $(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
113 @echo Making adlc
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
114 $(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
115
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
116 # Random dependencies:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
117 $(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
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
118
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
119 # The source files refer to ostream.h, which sparcworks calls iostream.h
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
120 $(OBJECTS): ostream.h
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
121
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
122 ostream.h :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
123 @echo >$@ '#include <iostream.h>'
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
124
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
125 dump:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
126 : OUTDIR=$(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
127 : OBJECTS=$(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
128 : products = $(GENERATEDFILES)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
129
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
130 all: $(GENERATEDFILES)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
131
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
132 $(GENERATEDFILES): refresh_adfiles
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
133
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
134 # Get a unique temporary directory name, so multiple makes can run in parallel.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
135 # Note that product files are updated via "mv", which is atomic.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
136 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
137
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
138 # Debuggable by default
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
139 CFLAGS += -g
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
140
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
141 # Pass -D flags into ADLC.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
142 ADLCFLAGS += $(SYSDEFS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
143
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
144 # Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
145 ADLCFLAGS += -q -T
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
146
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
147 # Normally, debugging is done directly on the ad_<arch>*.cpp files.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
148 # But -g will put #line directives in those files pointing back to <arch>.ad.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
149 # Some builds of gcc 3.2 have a bug that gets tickled by the extra #line directives
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
150 # so skip it for 3.2 and ealier.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
151 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
152 ADLCFLAGS += -g
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
153 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
154
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
155 ifdef LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
156 ADLCFLAGS += -D_LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
157 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
158 ADLCFLAGS += -U_LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
159 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
160
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
161 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
162 # adlc_updater is a simple sh script, under sccs control. It is
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
163 # used to selectively update generated adlc files. This should
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
164 # provide a nice compilation speed improvement.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
165 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
166 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
167 ADLC_UPDATER = adlc_updater
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
168 $(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
169 $(QUIETLY) cp $< $@; chmod +x $@
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
170
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
171 # This action refreshes all generated adlc files simultaneously.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
172 # The way it works is this:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
173 # 1) create a scratch directory to work in.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
174 # 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
175 # 3) run the compiled adlc executable. This will create new adlc files in the scratch directory.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
176 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
177 # 5) If we actually updated any files, echo a notice.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
178 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
179 refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
180 @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
181 $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
182 -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 \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
183 || { rm -rf $(TEMPDIR); exit 1; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
184 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
185 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
186 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
187 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
188 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
189 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
190 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
191 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
192 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
193 $(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
194 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
195 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
196 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
197 $(QUIETLY) rm -rf $(TEMPDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
198
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
199
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
200 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
201
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
202 $(SOURCE.AD): $(SOURCES.AD)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
203 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
204
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
205 #PROCESS_AD_FILES = cat
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
206 # Pass through #line directives, in case user enables -g option above:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
207 PROCESS_AD_FILES = awk '{ \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
208 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
209 if (need_lineno && $$0 !~ /\/\//) \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
210 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
211 print }'
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
212
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
213 $(OUTDIR)/%.o: %.cpp
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
214 @echo Compiling $<
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
215 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
216 $(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
217
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
218 # Some object files are given a prefix, to disambiguate
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
219 # them from objects of the same name built for the VM.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
220 $(OUTDIR)/adlc-%.o: %.cpp
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
221 @echo Compiling $<
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
222 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
223 $(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
224
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
225 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
226
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
227 clean :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
228 rm $(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
229
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
230 cleanall :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
231 rm $(OBJECTS) $(EXEC)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
232
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
233 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
234
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
235 .PHONY: all dump refresh_adfiles clean cleanall