* Introduce ROS_OUTPUT
[reactos.git] / reactos / tools / wpp / wpp.mak
index 70bd90b..7dc8c0a 100644 (file)
@@ -1,7 +1,10 @@
-WPP_BASE = .$(SEP)tools$(SEP)wpp
+WPP_BASE = tools$(SEP)wpp
+
+$(INTERMEDIATE)$(WPP_BASE): $(RMKDIR_TARGET)
+       ${mkdir} $(INTERMEDIATE)$(WPP_BASE)
 
 WPP_TARGET = \
-       $(ROS_INTERMEDIATE)$(WPP_BASE)$(SEP)libwpp.a
+       $(INTERMEDIATE)$(WPP_BASE)$(SEP)libwpp.a
 
 WPP_SOURCES = \
        $(WPP_BASE)$(SEP)lex.yy.c \
@@ -10,17 +13,29 @@ WPP_SOURCES = \
        $(WPP_BASE)$(SEP)wpp.tab.c
 
 WPP_OBJECTS = \
-       $(WPP_SOURCES:.c=.o)
+    $(addprefix $(INTERMEDIATE), $(WPP_SOURCES:.c=.o))
 
 WPP_HOST_CFLAGS = -D__USE_W32API -I$(WPP_BASE) -Iinclude -Iinclude/wine -g
 
-$(WPP_TARGET): $(WPP_OBJECTS)
+$(WPP_TARGET): $(INTERMEDIATE)$(WPP_BASE) $(WPP_OBJECTS)
        $(ECHO_AR)
        ${host_ar} -rc $(WPP_TARGET) $(WPP_OBJECTS)
 
-$(WPP_OBJECTS): %.o : %.c
+$(INTERMEDIATE)$(WPP_BASE)$(SEP)lex.yy.o: $(INTERMEDIATE)$(WPP_BASE) $(WPP_BASE)$(SEP)lex.yy.c
+       $(ECHO_CC)
+       ${host_gcc} $(WPP_HOST_CFLAGS) -c $(WPP_BASE)$(SEP)lex.yy.c -o $(INTERMEDIATE)$(WPP_BASE)$(SEP)lex.yy.o
+
+$(INTERMEDIATE)$(WPP_BASE)$(SEP)preproc.o: $(INTERMEDIATE)$(WPP_BASE) $(WPP_BASE)$(SEP)preproc.c
+       $(ECHO_CC)
+       ${host_gcc} $(WPP_HOST_CFLAGS) -c $(WPP_BASE)$(SEP)preproc.c -o $(INTERMEDIATE)$(WPP_BASE)$(SEP)preproc.o
+
+$(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.o: $(INTERMEDIATE)$(WPP_BASE) $(WPP_BASE)$(SEP)wpp.c
+       $(ECHO_CC)
+       ${host_gcc} $(WPP_HOST_CFLAGS) -c $(WPP_BASE)$(SEP)wpp.c -o $(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.o
+
+$(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.tab.o: $(INTERMEDIATE)$(WPP_BASE) $(WPP_BASE)$(SEP)wpp.tab.c
        $(ECHO_CC)
-       ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
+       ${host_gcc} $(WPP_HOST_CFLAGS) -c $(WPP_BASE)$(SEP)wpp.tab.c -o $(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.tab.o
 
 .PHONY: wpp_clean
 wpp_clean: