Fix the multiple-build problem. Again.
[mono.git] / mcs / tools / type-reflector / makefile.core
index a351495b80e3e4360d3e124e408eecbb94534070..81139b0f1236c7ed4fba90a0345c87228b9951ea 100644 (file)
@@ -82,6 +82,10 @@ GUI_SWF_FLAGS =
 
 MAKE_INVOKE = $(MAKE) -f $(MAKEFILE)
 
+# These are files that are `touch'ed during the build process to prevent
+# constant rebuilding.
+TARGETS = gui-all gtk swf
+
 all: gui
 
 console : $(PROGRAM)
@@ -90,8 +94,6 @@ $(PROGRAM) : $(PROGRAM_FILES)
        $(CSC_INVOKE)
        chmod +x $(PROGRAM)
 
-.PHONY: gtk swf
-
 # Pick the appropriate GUI Toolkit...
 # Fall back on console-only if nothing else compiles.
 gui: $(PROGRAM_FILES) $(GUI_GTK_FILES) $(GUI_GTK_GLADE_FILE) $(PROGRAM_FILES) $(GUI_SWF_FILES)
@@ -101,16 +103,19 @@ gui: $(PROGRAM_FILES) $(GUI_GTK_FILES) $(GUI_GTK_GLADE_FILE) $(PROGRAM_FILES) $(
 gui-all: $(PROGRAM_FILES) $(GUI_GTK_FILES) $(GUI_GTK_GLADE_FILE) $(PROGRAM_FILES) $(GUI_SWF_FILES)
        $(CSC_INVOKE) $(GUI_GTK_FLAGS) $(GUI_SWF_FLAGS) $(GUI_GTK_FILES) $(GUI_SWF_FILES) $(GUI_GTK_LIBS) $(GUI_SWF_LIBS) $(GUI_LIBS)
        chmod +x $(PROGRAM)
+       touch $@
 
 # Gtk# front-end
 gtk: $(PROGRAM_FILES) $(GUI_GTK_FILES) $(GUI_GTK_GLADE_FILE)
        $(CSC_INVOKE) $(GUI_GTK_FLAGS) $(GUI_GTK_FILES) $(GUI_GTK_LIBS) $(GUI_LIBS)
        chmod +x $(PROGRAM)
+       touch $@
 
 # System.Windows.Forms front-end
 swf: $(PROGRAM_FILES) $(GUI_SWF_FILES)
        $(CSC_INVOKE) $(GUI_SWF_FLAGS) $(GUI_SWF_FILES) $(GUI_SWF_LIBS) $(GUI_LIBS)
        chmod +x $(PROGRAM)
+       touch $@
 
 test-run : $(PROGRAM)
        $(MONO) $(PROGRAM) -A $(PROGRAM) $(ARGS)
@@ -125,7 +130,7 @@ windows:
        NAnt -buildfile:type-reflector.build
 
 clean:
-       rm -f *.exe *.pdb *.dll *.dbg *~ $(DISPLAYERS_DIR)*~ $(GUI_GTK_DIR)*~ $(GUI_SWF_DIR)*~ $(FINDERS_DIR)*~ $(FORMATTERS_DIR)*~
+       rm -f *.exe *.pdb *.dll *.dbg *~ $(TARGETS) $(DISPLAYERS_DIR)*~ $(GUI_GTK_DIR)*~ $(GUI_SWF_DIR)*~ $(FINDERS_DIR)*~ $(FORMATTERS_DIR)*~
 
 INSTALL_FILES = \
        $(PROGRAM) \