89 GENERATEDNAMES = \
90 ad_$(Platform_arch_model).cpp \
91 ad_$(Platform_arch_model).hpp \
92 ad_$(Platform_arch_model)_clone.cpp \
93 ad_$(Platform_arch_model)_expand.cpp \
94 ad_$(Platform_arch_model)_format.cpp \
95 ad_$(Platform_arch_model)_gen.cpp \
96 ad_$(Platform_arch_model)_misc.cpp \
97 ad_$(Platform_arch_model)_peephole.cpp \
98 ad_$(Platform_arch_model)_pipeline.cpp \
99 adGlobals_$(Platform_arch_model).hpp \
100 dfa_$(Platform_arch_model).cpp \
101
102 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
103
104 # #########################################################################
105
106 all: $(EXEC)
107
108 $(EXEC) : $(OBJECTS)
109 @echo Making adlc
110 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.LINK_NOPROF.CXX)) -o $(EXEC) $(OBJECTS)
111
112 # Random dependencies:
113 $(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
114
115 # The source files refer to ostream.h, which sparcworks calls iostream.h
116 $(OBJECTS): ostream.h
117
118 ostream.h :
119 @echo >$@ '#include <iostream.h>'
120
121 dump:
122 : OUTDIR=$(OUTDIR)
123 : OBJECTS=$(OBJECTS)
124 : products = $(GENERATEDFILES)
125
126 all: $(GENERATEDFILES)
127
128 $(GENERATEDFILES): refresh_adfiles
129
192 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
193 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
194 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
195 $(QUIETLY) rm -rf $(TEMPDIR)
196
197
198 # #########################################################################
199
200 $(SOURCE.AD): $(SOURCES.AD)
201 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
202
203 #PROCESS_AD_FILES = cat
204 # Pass through #line directives, in case user enables -g option above:
205 PROCESS_AD_FILES = awk '{ \
206 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
207 if (need_lineno && $$0 !~ /\/\//) \
208 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
209 print }'
210
211 $(OUTDIR)/%.o: %.cpp
212 @echo Compiling $<
213 $(QUIETLY) $(REMOVE_TARGET)
214 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
215
216 # Some object files are given a prefix, to disambiguate
217 # them from objects of the same name built for the VM.
218 $(OUTDIR)/adlc-%.o: %.cpp
219 @echo Compiling $<
220 $(QUIETLY) $(REMOVE_TARGET)
221 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
222
223 # #########################################################################
224
225 clean :
226 rm $(OBJECTS)
227
228 cleanall :
229 rm $(OBJECTS) $(EXEC)
230
231 # #########################################################################
232
233 .PHONY: all dump refresh_adfiles clean cleanall
|
89 GENERATEDNAMES = \
90 ad_$(Platform_arch_model).cpp \
91 ad_$(Platform_arch_model).hpp \
92 ad_$(Platform_arch_model)_clone.cpp \
93 ad_$(Platform_arch_model)_expand.cpp \
94 ad_$(Platform_arch_model)_format.cpp \
95 ad_$(Platform_arch_model)_gen.cpp \
96 ad_$(Platform_arch_model)_misc.cpp \
97 ad_$(Platform_arch_model)_peephole.cpp \
98 ad_$(Platform_arch_model)_pipeline.cpp \
99 adGlobals_$(Platform_arch_model).hpp \
100 dfa_$(Platform_arch_model).cpp \
101
102 GENERATEDFILES = $(GENERATEDNAMES:%=$(OUTDIR)/%)
103
104 # #########################################################################
105
106 all: $(EXEC)
107
108 $(EXEC) : $(OBJECTS)
109 @echo $(LOG_INFO) Making adlc
110 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.LINK_NOPROF.CXX)) -o $(EXEC) $(OBJECTS)
111
112 # Random dependencies:
113 $(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
114
115 # The source files refer to ostream.h, which sparcworks calls iostream.h
116 $(OBJECTS): ostream.h
117
118 ostream.h :
119 @echo >$@ '#include <iostream.h>'
120
121 dump:
122 : OUTDIR=$(OUTDIR)
123 : OBJECTS=$(OBJECTS)
124 : products = $(GENERATEDFILES)
125
126 all: $(GENERATEDFILES)
127
128 $(GENERATEDFILES): refresh_adfiles
129
192 $(QUIETLY) ./$(ADLC_UPDATER) dfa_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
193 $(QUIETLY) [ -f $(TEMPDIR)/made-change ] \
194 || echo "Rescanned $(SOURCE.AD) but encountered no changes."
195 $(QUIETLY) rm -rf $(TEMPDIR)
196
197
198 # #########################################################################
199
200 $(SOURCE.AD): $(SOURCES.AD)
201 $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
202
203 #PROCESS_AD_FILES = cat
204 # Pass through #line directives, in case user enables -g option above:
205 PROCESS_AD_FILES = awk '{ \
206 if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
207 if (need_lineno && $$0 !~ /\/\//) \
208 { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
209 print }'
210
211 $(OUTDIR)/%.o: %.cpp
212 @echo $(LOG_INFO) Compiling $<
213 $(QUIETLY) $(REMOVE_TARGET)
214 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
215
216 # Some object files are given a prefix, to disambiguate
217 # them from objects of the same name built for the VM.
218 $(OUTDIR)/adlc-%.o: %.cpp
219 @echo $(LOG_INFO) Compiling $<
220 $(QUIETLY) $(REMOVE_TARGET)
221 $(QUIETLY) $(filter-out $(ARCHFLAG),$(HOST.COMPILE.CXX)) -o $@ $< $(COMPILE_DONE)
222
223 # #########################################################################
224
225 clean :
226 rm $(OBJECTS)
227
228 cleanall :
229 rm $(OBJECTS) $(EXEC)
230
231 # #########################################################################
232
233 .PHONY: all dump refresh_adfiles clean cleanall
|