Move precondition to rules
[reactos.git] / reactos / tools / winebuild / winebuild.mak
1 WINEBUILD_BASE = $(TOOLS_BASE)$(SEP)winebuild
2 WINEBUILD_BASE_ = $(WINEBUILD_BASE)$(SEP)
3 WINEBUILD_INT = $(INTERMEDIATE_)$(WINEBUILD_BASE)
4 WINEBUILD_INT_ = $(WINEBUILD_INT)$(SEP)
5 WINEBUILD_OUT = $(OUTPUT_)$(WINEBUILD_BASE)
6 WINEBUILD_OUT_ = $(WINEBUILD_OUT)$(SEP)
7
8 $(WINEBUILD_INT): | $(TOOLS_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(WINEBUILD_OUT): | $(TOOLS_OUT)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18 WINEBUILD_TARGET = \
19 $(WINEBUILD_OUT_)winebuild$(EXEPOSTFIX)
20
21 WINEBUILD_DEPENDS = $(BUILDNO_H)
22
23 WINEBUILD_SOURCES = $(addprefix $(WINEBUILD_BASE_), \
24 import.c \
25 main.c \
26 parser.c \
27 res16.c \
28 res32.c \
29 spec32.c \
30 utils.c \
31 mkstemps.c \
32 )
33
34 WINEBUILD_OBJECTS = \
35 $(addprefix $(INTERMEDIATE_), $(WINEBUILD_SOURCES:.c=.o))
36
37 WINEBUILD_HOST_CFLAGS = $(TOOLS_CFLAGS) -D__USE_W32API \
38 -Iinclude/reactos/wine -Iinclude -Iinclude/reactos \
39 -I$(INTERMEDIATE_)include
40
41 WINEBUILD_HOST_LFLAGS = $(TOOLS_LFLAGS)
42
43 .PHONY: winebuild
44 winebuild: $(WINEBUILD_TARGET)
45
46 $(WINEBUILD_TARGET): $(WINEBUILD_OBJECTS) | $(WINEBUILD_OUT)
47 $(ECHO_LD)
48 ${host_gcc} $(WINEBUILD_OBJECTS) $(WINEBUILD_HOST_LFLAGS) -o $@
49
50 $(WINEBUILD_INT_)import.o: $(WINEBUILD_BASE_)import.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
51 $(ECHO_CC)
52 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
53
54 $(WINEBUILD_INT_)main.o: $(WINEBUILD_BASE_)main.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
55 $(ECHO_CC)
56 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
57
58 $(WINEBUILD_INT_)parser.o: $(WINEBUILD_BASE_)parser.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
59 $(ECHO_CC)
60 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
61
62 $(WINEBUILD_INT_)res16.o: $(WINEBUILD_BASE_)res16.c $(WINEBUILD_DEPENDS | $(WINEBUILD_INT)
63 $(ECHO_CC)
64 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
65
66 $(WINEBUILD_INT_)res32.o: $(WINEBUILD_BASE_)res32.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
67 $(ECHO_CC)
68 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
69
70 $(WINEBUILD_INT_)spec32.o: $(WINEBUILD_BASE_)spec32.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
71 $(ECHO_CC)
72 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
73
74 $(WINEBUILD_INT_)utils.o: $(WINEBUILD_BASE_)utils.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
75 $(ECHO_CC)
76 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
77
78 $(WINEBUILD_INT_)mkstemps.o: $(WINEBUILD_BASE_)mkstemps.c $(WINEBUILD_DEPENDS) | $(WINEBUILD_INT)
79 $(ECHO_CC)
80 ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@
81
82 .PHONY: winebuild_clean
83 winebuild_clean:
84 -@$(rm) $(WINEBUILD_TARGET) $(WINEBUILD_OBJECTS) 2>$(NUL)
85 clean: winebuild_clean