45 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
46 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
47 else
48 SOURCES.AD = \
49 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
50 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
51 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
52 endif
53
54 EXEC = $(OUTDIR)/adlc
55
56 # set VPATH so make knows where to look for source files
57 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
58 VPATH += $(Src_Dirs_V:%=%:)
59
60 # set INCLUDES for C preprocessor
61 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
62 INCLUDES += $(Src_Dirs_I:%=-I%)
63
64 # set flags for adlc compilation
65 CPPFLAGS = $(SYSDEFS) $(INCLUDES)
66
67 # Force assertions on.
68 CPPFLAGS += -DASSERT
69
70 ifndef USE_GCC
71 # We need libCstd.so for adlc
72 CFLAGS += -library=Cstd -g
73 LFLAGS += -library=Cstd -g
74 endif
75
76 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
77 # Compiler warnings are treated as errors
78 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
79 CFLAGS_WARN = +w -errwarn
80 endif
81 CFLAGS += $(CFLAGS_WARN)
82
83 ifeq ("${Platform_compiler}", "sparcWorks")
84 # Enable the following CFLAGS addition if you need to compare the
85 # built ELF objects.
86 #
87 # The -g option makes static data global and the "-Qoption ccfe
88 # -xglobalstatic" option tells the compiler to not globalize static
113 ad_$(Platform_arch_model).cpp \
114 ad_$(Platform_arch_model).hpp \
115 ad_$(Platform_arch_model)_clone.cpp \
116 ad_$(Platform_arch_model)_expand.cpp \
117 ad_$(Platform_arch_model)_format.cpp \
118 ad_$(Platform_arch_model)_gen.cpp \
119 ad_$(Platform_arch_model)_misc.cpp \
120 ad_$(Platform_arch_model)_peephole.cpp \
121 ad_$(Platform_arch_model)_pipeline.cpp \
122 adGlobals_$(Platform_arch_model).hpp \
123 dfa_$(Platform_arch_model).cpp \
124
125 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
126
127 # #########################################################################
128
129 all: $(EXEC)
130
131 $(EXEC) : $(OBJECTS)
132 @echo Making adlc
133 $(QUIETLY) $(LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
134
135 # Random dependencies:
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
137
138 # The source files refer to ostream.h, which sparcworks calls iostream.h
139 $(OBJECTS): ostream.h
140
141 ostream.h :
142 @echo >$@ '#include <iostream.h>'
143
144 dump:
145 : OUTDIR=$(OUTDIR)
146 : OBJECTS=$(OBJECTS)
147 : products = $(GENERATEDFILES)
148
149 all: $(GENERATEDFILES)
150
151 $(GENERATEDFILES): refresh_adfiles
152
153 # Get a unique temporary directory name, so multiple makes can run in parallel.
211 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
212 $(QUIETLY) rm -rf $(TEMPDIR)
213
214
215 # #########################################################################
216
217 $(SOURCE.AD): $(SOURCES.AD)
218 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
219
220 #PROCESS_AD_FILES = cat
221 # Pass through #line directives, in case user enables -g option above:
222 PROCESS_AD_FILES = awk '{ \
223 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
224 if (need_lineno && $$0 !~ /\/\//) \
225 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
226 print }'
227
228 $(OUTDIR)/%.o: %.cpp
229 @echo Compiling $<
230 $(QUIETLY) $(REMOVE_TARGET)
231 $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
232
233 # Some object files are given a prefix, to disambiguate
234 # them from objects of the same name built for the VM.
235 $(OUTDIR)/adlc-%.o: %.cpp
236 @echo Compiling $<
237 $(QUIETLY) $(REMOVE_TARGET)
238 $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
239
240 # #########################################################################
241
242 clean :
243 rm $(OBJECTS)
244
245 cleanall :
246 rm $(OBJECTS) $(EXEC)
247
248 # #########################################################################
249
250 .PHONY: all dump refresh_adfiles clean cleanall
|
45 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
46 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
47 else
48 SOURCES.AD = \
49 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
50 $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
51 $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
52 endif
53
54 EXEC = $(OUTDIR)/adlc
55
56 # set VPATH so make knows where to look for source files
57 Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
58 VPATH += $(Src_Dirs_V:%=%:)
59
60 # set INCLUDES for C preprocessor
61 Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
62 INCLUDES += $(Src_Dirs_I:%=-I%)
63
64 # set flags for adlc compilation
65 CXXFLAGS = $(SYSDEFS) $(INCLUDES)
66
67 # Force assertions on.
68 CXXFLAGS += -DASSERT
69
70 ifndef USE_GCC
71 # We need libCstd.so for adlc
72 CFLAGS += -library=Cstd -g
73 LFLAGS += -library=Cstd -g
74 endif
75
76 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
77 # Compiler warnings are treated as errors
78 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
79 CFLAGS_WARN = +w -errwarn
80 endif
81 CFLAGS += $(CFLAGS_WARN)
82
83 ifeq ("${Platform_compiler}", "sparcWorks")
84 # Enable the following CFLAGS addition if you need to compare the
85 # built ELF objects.
86 #
87 # The -g option makes static data global and the "-Qoption ccfe
88 # -xglobalstatic" option tells the compiler to not globalize static
113 ad_$(Platform_arch_model).cpp \
114 ad_$(Platform_arch_model).hpp \
115 ad_$(Platform_arch_model)_clone.cpp \
116 ad_$(Platform_arch_model)_expand.cpp \
117 ad_$(Platform_arch_model)_format.cpp \
118 ad_$(Platform_arch_model)_gen.cpp \
119 ad_$(Platform_arch_model)_misc.cpp \
120 ad_$(Platform_arch_model)_peephole.cpp \
121 ad_$(Platform_arch_model)_pipeline.cpp \
122 adGlobals_$(Platform_arch_model).hpp \
123 dfa_$(Platform_arch_model).cpp \
124
125 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
126
127 # #########################################################################
128
129 all: $(EXEC)
130
131 $(EXEC) : $(OBJECTS)
132 @echo Making adlc
133 $(QUIETLY) $(LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
134
135 # Random dependencies:
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
137
138 # The source files refer to ostream.h, which sparcworks calls iostream.h
139 $(OBJECTS): ostream.h
140
141 ostream.h :
142 @echo >$@ '#include <iostream.h>'
143
144 dump:
145 : OUTDIR=$(OUTDIR)
146 : OBJECTS=$(OBJECTS)
147 : products = $(GENERATEDFILES)
148
149 all: $(GENERATEDFILES)
150
151 $(GENERATEDFILES): refresh_adfiles
152
153 # Get a unique temporary directory name, so multiple makes can run in parallel.
211 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
212 $(QUIETLY) rm -rf $(TEMPDIR)
213
214
215 # #########################################################################
216
217 $(SOURCE.AD): $(SOURCES.AD)
218 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
219
220 #PROCESS_AD_FILES = cat
221 # Pass through #line directives, in case user enables -g option above:
222 PROCESS_AD_FILES = awk '{ \
223 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
224 if (need_lineno && $$0 !~ /\/\//) \
225 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
226 print }'
227
228 $(OUTDIR)/%.o: %.cpp
229 @echo Compiling $<
230 $(QUIETLY) $(REMOVE_TARGET)
231 $(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
232
233 # Some object files are given a prefix, to disambiguate
234 # them from objects of the same name built for the VM.
235 $(OUTDIR)/adlc-%.o: %.cpp
236 @echo Compiling $<
237 $(QUIETLY) $(REMOVE_TARGET)
238 $(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
239
240 # #########################################################################
241
242 clean :
243 rm $(OBJECTS)
244
245 cleanall :
246 rm $(OBJECTS) $(EXEC)
247
248 # #########################################################################
249
250 .PHONY: all dump refresh_adfiles clean cleanall
|