Import Wine Resource Compiler and use it for winedll's
[reactos.git] / reactos / tools / Makefile
1 PATH_TO_TOP = ..
2
3 include $(PATH_TO_TOP)/rules.mak
4
5 CFLAGS += -Wall -Werror
6
7 TOOLS = \
8 buildno$(EXE_POSTFIX) \
9 regtests$(EXE_POSTFIX) \
10 rcopy$(EXE_POSTFIX) \
11 rdel$(EXE_POSTFIX) \
12 rline$(EXE_POSTFIX) \
13 rmkdir$(EXE_POSTFIX) \
14 rrmdir$(EXE_POSTFIX) \
15 rsym$(EXE_POSTFIX) \
16 rtouch$(EXE_POSTFIX) \
17 mkflpimg$(EXE_POSTFIX) \
18 depends$(EXE_POSTFIX)
19
20 CLEAN_FILES = $(TOOLS)
21
22 all: $(TOOLS) zlib_target wmc_target cabman_target cdmake_target mkhive_target rgenstat_target \
23 wine2ros_target pipetools_target winebuild_target bin2res_target wrc_target
24
25 buildno$(EXE_POSTFIX): buildno.c ../include/reactos/version.h
26 @$(HOST_CC) $(CFLAGS) -o buildno$(EXE_POSTFIX) buildno.c
27 @$(EXE_PREFIX)buildno$(EXE_POSTFIX)
28
29 regtests$(EXE_POSTFIX): regtests.c
30 @$(HOST_CC) $(CFLAGS) -o regtests$(EXE_POSTFIX) regtests.c
31
32 ifeq ($(HOST),mingw32-linux)
33 rcopy$(EXE_POSTFIX): rcopy.c
34 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rcopy.c -o rcopy$(EXE_POSTFIX)
35 endif
36 ifeq ($(HOST),mingw32-windows)
37 rcopy$(EXE_POSTFIX): rcopy.c
38 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rcopy.c -o rcopy$(EXE_POSTFIX)
39 endif
40
41 rdel$(EXE_POSTFIX): rdel.c
42 @$(HOST_CC) $(CFLAGS) rdel.c -o rdel$(EXE_POSTFIX)
43
44 ifeq ($(HOST),mingw32-linux)
45 rline$(EXE_POSTFIX): rline.c
46 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rline.c -o rline$(EXE_POSTFIX)
47 endif
48 ifeq ($(HOST),mingw32-windows)
49 rline$(EXE_POSTFIX): rmkdir.c
50 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rline.c -o rline$(EXE_POSTFIX)
51 endif
52
53 ifeq ($(HOST),mingw32-linux)
54 rmkdir$(EXE_POSTFIX): rmkdir.c
55 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rmkdir.c -o rmkdir$(EXE_POSTFIX)
56 endif
57 ifeq ($(HOST),mingw32-windows)
58 rmkdir$(EXE_POSTFIX): rmkdir.c
59 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rmkdir.c -o rmkdir$(EXE_POSTFIX)
60 endif
61
62 ifeq ($(HOST),mingw32-linux)
63 rrmdir$(EXE_POSTFIX): rrmdir.c
64 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rrmdir.c -o rrmdir$(EXE_POSTFIX)
65 endif
66 ifeq ($(HOST),mingw32-windows)
67 rrmdir$(EXE_POSTFIX): rrmdir.c
68 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rrmdir.c -o rrmdir$(EXE_POSTFIX)
69 endif
70
71 ifeq ($(HOST),mingw32-linux)
72 rsym$(EXE_POSTFIX): rsym.c
73 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rsym.c -o rsym$(EXE_POSTFIX)
74 endif
75 ifeq ($(HOST),mingw32-windows)
76 rsym$(EXE_POSTFIX): rsym.c
77 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rsym.c -o rsym$(EXE_POSTFIX)
78 endif
79
80 ifeq ($(HOST),mingw32-linux)
81 rtouch$(EXE_POSTFIX): rtouch.c
82 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS rtouch.c -o rtouch$(EXE_POSTFIX)
83 endif
84 ifeq ($(HOST),mingw32-windows)
85 rtouch$(EXE_POSTFIX): rtouch.c
86 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS rtouch.c -o rtouch$(EXE_POSTFIX)
87 endif
88
89 ifeq ($(HOST),mingw32-linux)
90 mkflpimg$(EXE_POSTFIX): mkflpimg.c
91 @$(HOST_CC) $(CFLAGS) -DUNIX_PATHS mkflpimg.c -o mkflpimg$(EXE_POSTFIX)
92 endif
93 ifeq ($(HOST),mingw32-windows)
94 mkflpimg$(EXE_POSTFIX): mkflpimg.c
95 @$(HOST_CC) $(CFLAGS) -DDOS_PATHS mkflpimg.c -o mkflpimg$(EXE_POSTFIX)
96 endif
97
98 depends$(EXE_POSTFIX): depends.c
99 @$(HOST_CC) $(CFLAGS) depends.c -o depends$(EXE_POSTFIX)
100
101 zlib_target:
102 $(MAKE) --silent -C ../lib/zlib -f Makefile.host
103
104 wmc_target:
105 $(MAKE) --silent -C wmc wmc$(EXE_POSTFIX)
106
107 cabman_target:
108 $(MAKE) --silent -C cabman cabman$(EXE_POSTFIX)
109
110 cdmake_target:
111 $(MAKE) --silent -C cdmake cdmake$(EXE_POSTFIX)
112
113 mkhive_target:
114 $(MAKE) --silent -C mkhive mkhive$(EXE_POSTFIX)
115
116 rgenstat_target:
117 $(MAKE) --silent -C rgenstat rgenstat$(EXE_POSTFIX)
118
119 wine2ros_target:
120 $(MAKE) --silent -C wine2ros wine2ros$(EXE_POSTFIX)
121
122 pipetools_target:
123 ifeq ($(HOST),mingw32-windows)
124 $(MAKE) --silent -C pipetools
125 endif
126
127 winebuild_target:
128 $(MAKE) --silent -C winebuild winebuild$(EXE_POSTFIX)
129
130 bin2res_target:
131 $(MAKE) --silent -C bin2res bin2res$(EXE_POSTFIX)
132
133 wrc_target:
134 $(MAKE) --silent -C wrc wrc$(EXE_POSTFIX)
135
136 .PHONY: wmc_target cdmake_target mkhive_target rgenstat_target pipetools_target wrc_target
137
138
139 ifeq ($(HOST),mingw32-linux)
140 clean:
141 $(MAKE) --silent -C wrc clean
142 $(MAKE) --silent -C cabman clean
143 $(MAKE) --silent -C cdmake clean
144 $(MAKE) --silent -C mkhive clean
145 $(MAKE) --silent -C wmc clean
146 $(MAKE) --silent -C rgenstat clean
147 $(MAKE) --silent -C wine2ros clean
148 $(MAKE) --silent -C winebuild clean
149 $(MAKE) --silent -C bin2res clean
150 $(MAKE) --silent -C ../lib/zlib -f Makefile.host clean
151 @rm ../include/reactos/buildno.h
152 @rm mkconfig
153 @rm $(TOOLS)
154 endif
155 ifeq ($(HOST),mingw32-windows)
156 clean:
157 $(MAKE) --silent -C wrc clean
158 $(MAKE) --silent -C cabman clean
159 $(MAKE) --silent -C cdmake clean
160 $(MAKE) --silent -C mkhive clean
161 $(MAKE) --silent -C wmc clean
162 $(MAKE) --silent -C rgenstat clean
163 $(MAKE) --silent -C pipetools clean
164 $(MAKE) --silent -C wine2ros clean
165 $(MAKE) --silent -C winebuild clean
166 $(MAKE) --silent -C bin2res clean
167 $(MAKE) --silent -C ../lib/zlib -f Makefile.host clean
168 -@del ..\include\reactos\buildno.h
169 -@del *$(EXE_POSTFIX)
170 endif
171
172 .PHONY: all clean