LEVEL = ../../..
LIBRARYNAME = sparc
-## List source files in link order
-Source = \
- Sparc.cpp \
- Sparc.burm.cpp \
- SparcInstrSelection.cpp \
- SparcRegClassInfo.cpp \
- SparcRegInfo.cpp EmitAssembly.cpp
+ExtraSource = Debug/Sparc.burm.cpp
include $(LEVEL)/Makefile.common
-Debug/Sparc.burg.in1 : Sparc.burg.in
- g++ -E -I$(LEVEL)/include -D_DEBUG -x c++ $< | sed '/^# /d' | sed 's/Ydefine/#define/' > $@
+ifdef ENABLE_OPTIMIZED
+ DEBUG_FLAG =
+else
+ DEBUG_FLAG = -D_DEBUG
+endif
-Debug/Sparc.burg : Debug/Sparc.burg.in1
- g++ -E -I$(LEVEL)/include -D_DEBUG -x c++ $< | sed '/^# /d' | sed 's/Xinclude/#include/g' | sed 's/Xdefine/#define/g' > $@
+Debug/Sparc.burm.cpp: Debug/Sparc.burm Debug/.dir
+ $(RunBurg) $< -o $@
+
+$(BUILD_ROOT)/Debug/Sparc.burm.o: Debug/Sparc.burm.cpp
+ $(CompileG) $< -o $@
+
+$(BUILD_ROOT)/Release/Sparc.burm.o: Debug/Sparc.burm.cpp
+ $(CompileO) $< -o $@
+
+$(BUILD_ROOT)/Profile/Sparc.burm.o: Debug/Sparc.burm.cpp
+ $(CompileP) $< -o $@
+
+Debug/Sparc.burg.in1 : Sparc.burg.in Debug/.dir
+ $(CXX) -E -I$(LEVEL)/include $(DEBUG_FLAG) -x c++ $< | sed '/^# /d' | sed 's/Ydefine/#define/' > $@
+
+Debug/Sparc.burm : Debug/Sparc.burg.in1
+ $(CXX) -E -I$(LEVEL)/include $(DEBUG_FLAG) -x c++ $< | sed '/^# /d' | sed 's/Xinclude/#include/g' | sed 's/Xdefine/#define/g' > $@
+
+$(BUILD_ROOT)/Depend/Sparc.burm.d: $(BUILD_ROOT)/Depend/.dir
+ touch $@