define common build flags so they can easily be changed for all tools
[reactos.git] / reactos / tools / wpp / wpp.mak
1 WPP_BASE = $(TOOLS_BASE_)wpp
2 WPP_BASE_ = $(WPP_BASE)$(SEP)
3 WPP_INT = $(INTERMEDIATE_)$(WPP_BASE)
4 WPP_INT_ = $(WPP_INT)$(SEP)
5 WPP_OUT = $(OUTPUT_)$(WPP_BASE)
6 WPP_OUT_ = $(WPP_OUT)$(SEP)
7
8 $(WPP_INT): | $(TOOLS_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(WPP_OUT): | $(TOOLS_OUT)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18 WPP_TARGET = \
19 $(WPP_OUT_)libwpp.a
20
21 WPP_SOURCES = $(addprefix $(WPP_BASE_), \
22 lex.yy.c \
23 preproc.c \
24 wpp.c \
25 wpp.tab.c \
26 )
27
28 WPP_OBJECTS = \
29 $(addprefix $(INTERMEDIATE_), $(WPP_SOURCES:.c=.o))
30
31 WPP_HOST_CFLAGS = -D__USE_W32API -I$(WPP_BASE) -Iinclude -Iinclude/wine $(TOOLS_CFLAGS)
32
33 .PHONY: wpp
34 wpp: $(WPP_TARGET)
35
36 $(WPP_TARGET): $(WPP_OBJECTS) | $(WPP_OUT)
37 $(ECHO_AR)
38 ${host_ar} -rc $(WPP_TARGET) $(WPP_OBJECTS)
39
40 $(WPP_INT_)lex.yy.o: $(WPP_BASE_)lex.yy.c | $(WPP_INT)
41 $(ECHO_CC)
42 ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
43
44 $(WPP_INT_)preproc.o: $(WPP_BASE_)preproc.c | $(WPP_INT)
45 $(ECHO_CC)
46 ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
47
48 $(WPP_INT_)wpp.o: $(WPP_BASE_)wpp.c | $(WPP_INT)
49 $(ECHO_CC)
50 ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
51
52 $(WPP_INT_)wpp.tab.o: $(WPP_BASE_)wpp.tab.c | $(WPP_INT)
53 $(ECHO_CC)
54 ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
55
56 .PHONY: wpp_clean
57 wpp_clean:
58 -@$(rm) $(WPP_TARGET) $(WPP_OBJECTS) 2>$(NUL)
59 clean: wpp_clean