annotate make/bsd/makefiles/adlc.make @ 20304:a22acf6d7598

8048112: G1 Full GC needs to support the case when the very first region is not available Summary: Refactor preparation for compaction during Full GC so that it lazily initializes the first compaction point. This also avoids problems later when the first region may not be committed. Also reviewed by K. Barrett. Reviewed-by: brutisso
author tschatzl
date Mon, 21 Jul 2014 10:00:31 +0200
parents 55fb97c4c58d
children 4ca6dc0799b6
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 #
17467
55fb97c4c58d 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents: 12024
diff changeset
2 # Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
3960
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 = \
12024
ce8969c36762 8022475: Remove unneeded ad-files
adlertz
parents: 10398
diff changeset
44 $(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: 4006
diff changeset
45 else
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
46 SOURCES.AD = \
65149e74c706 7121648: Use 3-operands SIMD instructions on x86 with AVX
kvn
parents: 4006
diff changeset
47 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
12024
ce8969c36762 8022475: Remove unneeded ad-files
adlertz
parents: 10398
diff changeset
48 $(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: 4006
diff changeset
49 endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
50
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
51 EXEC = $(OUTDIR)/adlc
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
52
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
53 # set VPATH so make knows where to look for source files
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
54 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
55 VPATH += $(Src_Dirs_V:%=%:)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
56
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
57 # set INCLUDES for C preprocessor
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
58 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
59 INCLUDES += $(Src_Dirs_I:%=-I%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
60
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
61 # set flags for adlc compilation
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
62 CXXFLAGS = $(SYSDEFS) $(INCLUDES)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
63
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
64 # Force assertions on.
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
65 CXXFLAGS += -DASSERT
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
66
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
67 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
68 # Compiler warnings are treated as errors
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
69 ifneq ($(COMPILER_WARNINGS_FATAL),false)
10398
2cb5d5f6d5e5 8015252: Enable HotSpot build with Clang
simonis
parents: 6842
diff changeset
70 CFLAGS_WARN = $(WARNINGS_ARE_ERRORS)
4006
436b4a3231bf 7098194: integrate macosx-port changes
dcubed
parents: 3960
diff changeset
71 endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
72 CFLAGS += $(CFLAGS_WARN)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
73
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
74 OBJECTNAMES = \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
75 adlparse.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
76 archDesc.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
77 arena.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
78 dfa.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
79 dict2.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
80 filebuff.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
81 forms.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
82 formsopt.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
83 formssel.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
84 main.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
85 adlc-opcodes.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
86 output_c.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
87 output_h.o \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
88
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
89 OBJECTS = $(OBJECTNAMES:%=$(OUTDIR)/%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
90
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
91 GENERATEDNAMES = \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
92 ad_$(Platform_arch_model).cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
93 ad_$(Platform_arch_model).hpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
94 ad_$(Platform_arch_model)_clone.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
95 ad_$(Platform_arch_model)_expand.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
96 ad_$(Platform_arch_model)_format.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
97 ad_$(Platform_arch_model)_gen.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
98 ad_$(Platform_arch_model)_misc.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
99 ad_$(Platform_arch_model)_peephole.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
100 ad_$(Platform_arch_model)_pipeline.cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
101 adGlobals_$(Platform_arch_model).hpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
102 dfa_$(Platform_arch_model).cpp \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
103
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
104 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
105
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
106 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
107
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
108 all: $(EXEC)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
109
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
110 $(EXEC) : $(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
111 @echo Making adlc
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
112 $(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
113
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
114 # Random dependencies:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
115 $(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
116
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
117 # The source files refer to ostream.h, which sparcworks calls iostream.h
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
118 $(OBJECTS): ostream.h
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
119
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
120 ostream.h :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
121 @echo >$@ '#include <iostream.h>'
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
122
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
123 dump:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
124 : OUTDIR=$(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
125 : OBJECTS=$(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
126 : products = $(GENERATEDFILES)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
127
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
128 all: $(GENERATEDFILES)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
129
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
130 $(GENERATEDFILES): refresh_adfiles
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
131
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
132 # Get a unique temporary directory name, so multiple makes can run in parallel.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
133 # Note that product files are updated via "mv", which is atomic.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
134 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
135
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
136 # Debuggable by default
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
137 CFLAGS += -g
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
138
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
139 # Pass -D flags into ADLC.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
140 ADLCFLAGS += $(SYSDEFS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
141
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
142 # 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
143 ADLCFLAGS += -q -T
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
144
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
145 # Normally, debugging is done directly on the ad_<arch>*.cpp files.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
146 # But -g will put #line directives in those files pointing back to <arch>.ad.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
147 # 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
148 # so skip it for 3.2 and ealier.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
149 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
150 ADLCFLAGS += -g
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
151 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
152
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
153 ifdef LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
154 ADLCFLAGS += -D_LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
155 else
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
156 ADLCFLAGS += -U_LP64
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
157 endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
158
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
159 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
160 # adlc_updater is a simple sh script, under sccs control. It is
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
161 # used to selectively update generated adlc files. This should
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
162 # provide a nice compilation speed improvement.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
163 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
164 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
165 ADLC_UPDATER = adlc_updater
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
166 $(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
167 $(QUIETLY) cp $< $@; chmod +x $@
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
168
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
169 # This action refreshes all generated adlc files simultaneously.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
170 # The way it works is this:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
171 # 1) create a scratch directory to work in.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
172 # 2) if the current working directory does not have $(ADLC_UPDATER), copy it.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
173 # 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
174 # 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
175 # 5) If we actually updated any files, echo a notice.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
176 #
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
177 refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
178 @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
179 $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
180 -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
181 || { rm -rf $(TEMPDIR); exit 1; }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
182 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
183 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
184 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_clone.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
185 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_expand.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
186 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_format.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
187 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_gen.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
188 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_misc.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
189 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_peephole.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
190 $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model)_pipeline.cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
191 $(QUIETLY) ./$(ADLC_UPDATER) adGlobals_$(Platform_arch_model).hpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
192 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
193 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
194 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
195 $(QUIETLY) rm -rf $(TEMPDIR)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
196
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
197
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 $(SOURCE.AD): $(SOURCES.AD)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
201 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
202
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
203 #PROCESS_AD_FILES = cat
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
204 # Pass through #line directives, in case user enables -g option above:
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
205 PROCESS_AD_FILES = awk '{ \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
206 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
207 if (need_lineno && $$0 !~ /\/\//) \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
208 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
209 print }'
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
210
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
211 $(OUTDIR)/%.o: %.cpp
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
212 @echo Compiling $<
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
213 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
214 $(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
215
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
216 # Some object files are given a prefix, to disambiguate
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
217 # them from objects of the same name built for the VM.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
218 $(OUTDIR)/adlc-%.o: %.cpp
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
219 @echo Compiling $<
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
220 $(QUIETLY) $(REMOVE_TARGET)
4891
719f7007c8e8 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 4761
diff changeset
221 $(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
222
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
223 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
224
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
225 clean :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
226 rm $(OBJECTS)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
227
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
228 cleanall :
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
229 rm $(OBJECTS) $(EXEC)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
230
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
231 # #########################################################################
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
232
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
233 .PHONY: all dump refresh_adfiles clean cleanall