- revert 26147
[reactos.git] / reactos / tools / widl / widl.mak
1 WIDL_BASE = $(TOOLS_BASE)$(SEP)widl
2 WIDL_BASE_ = $(WIDL_BASE)$(SEP)
3 WIDL_INT = $(INTERMEDIATE_)$(WIDL_BASE)
4 WIDL_INT_ = $(WIDL_INT)$(SEP)
5 WIDL_OUT = $(OUTPUT_)$(WIDL_BASE)
6 WIDL_OUT_ = $(WIDL_OUT)$(SEP)
7
8 $(WIDL_INT): | $(TOOLS_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(WIDL_OUT): | $(TOOLS_OUT)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18 WIDL_PORT_BASE = $(WIDL_BASE)$(SEP)port
19 WIDL_PORT_BASE_ = $(WIDL_PORT_BASE)$(SEP)
20 WIDL_PORT_INT = $(INTERMEDIATE_)$(WIDL_PORT_BASE)
21 WIDL_PORT_INT_ = $(WIDL_PORT_INT)$(SEP)
22 WIDL_PORT_OUT = $(OUTPUT_)$(WIDL_PORT_BASE)
23 WIDL_PORT_OUT_ = $(WIDL_PORT_OUT)$(SEP)
24
25 $(WIDL_PORT_INT): | $(WIDL_INT)
26 $(ECHO_MKDIR)
27 ${mkdir} $@
28
29 ifneq ($(INTERMEDIATE),$(OUTPUT))
30 $(WIDL_PORT_OUT): | $(WIDL_OUT)
31 $(ECHO_MKDIR)
32 ${mkdir} $@
33 endif
34
35 WIDL_TARGET = \
36 $(EXEPREFIX)$(WIDL_OUT_)widl$(EXEPOSTFIX)
37
38 WIDL_SOURCES = $(addprefix $(WIDL_BASE_), \
39 client.c \
40 hash.c \
41 header.c \
42 lex.yy.c \
43 proxy.c \
44 server.c \
45 typegen.c \
46 typelib.c \
47 utils.c \
48 widl.c \
49 write_msft.c \
50 parser.tab.c \
51 port$(SEP)mkstemps.c \
52 )
53
54 WIDL_OBJECTS = \
55 $(addprefix $(INTERMEDIATE_), $(WIDL_SOURCES:.c=.o))
56
57 WIDL_HOST_CFLAGS = $(TOOLS_CFLAGS) \
58 -DINT16=SHORT -D__USE_W32API -DYYDEBUG=1 -D__REACTOS__=1 \
59 -I$(WIDL_BASE) -I$(WPP_BASE) \
60 -Iinclude/reactos/wine -Iinclude/reactos -Iinclude -Iinclude/psdk
61
62 WIDL_HOST_LFLAGS = $(TOOLS_LFLAGS)
63
64 WIDL_LIBS = $(WPP_TARGET)
65
66 .PHONY: widl
67 widl: $(WIDL_TARGET)
68
69 $(WIDL_TARGET): $(WIDL_OBJECTS) $(WIDL_LIBS) | $(WIDL_OUT)
70 $(ECHO_LD)
71 ${host_gcc} $(WIDL_OBJECTS) $(WIDL_LIBS) $(WIDL_HOST_LFLAGS) -o $@
72
73 $(WIDL_INT_)client.o: $(WIDL_BASE_)client.c | $(WIDL_INT)
74 $(ECHO_CC)
75 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
76
77 $(WIDL_INT_)hash.o: $(WIDL_BASE_)hash.c | $(WIDL_INT)
78 $(ECHO_CC)
79 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
80
81 $(WIDL_INT_)header.o: $(WIDL_BASE_)header.c | $(WIDL_INT)
82 $(ECHO_CC)
83 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
84
85 $(WIDL_INT_)lex.yy.o: $(WIDL_BASE_)lex.yy.c | $(WIDL_INT)
86 $(ECHO_CC)
87 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
88
89 $(WIDL_INT_)proxy.o: $(WIDL_BASE_)proxy.c | $(WIDL_INT)
90 $(ECHO_CC)
91 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
92
93 $(WIDL_INT_)server.o: $(WIDL_BASE_)server.c | $(WIDL_INT)
94 $(ECHO_CC)
95 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
96
97 $(WIDL_INT_)typegen.o: $(WIDL_BASE_)typegen.c | $(WIDL_INT)
98 $(ECHO_CC)
99 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
100
101 $(WIDL_INT_)typelib.o: $(WIDL_BASE_)typelib.c | $(WIDL_INT)
102 $(ECHO_CC)
103 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
104
105 $(WIDL_INT_)utils.o: $(WIDL_BASE_)utils.c | $(WIDL_INT)
106 $(ECHO_CC)
107 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
108
109 $(WIDL_INT_)widl.o: $(WIDL_BASE_)widl.c | $(WIDL_INT)
110 $(ECHO_CC)
111 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
112
113 $(WIDL_INT_)write_msft.o: $(WIDL_BASE_)write_msft.c | $(WIDL_INT)
114 $(ECHO_CC)
115 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
116
117 $(WIDL_INT_)parser.tab.o: $(WIDL_BASE_)parser.tab.c | $(WIDL_INT)
118 $(ECHO_CC)
119 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
120
121 $(WIDL_PORT_INT_)mkstemps.o: $(WIDL_PORT_BASE_)mkstemps.c | $(WIDL_PORT_INT)
122 $(ECHO_CC)
123 ${host_gcc} $(WIDL_HOST_CFLAGS) -c $< -o $@
124
125 .PHONY: widl_clean
126 widl_clean:
127 -@$(rm) $(WIDL_TARGET) $(WIDL_OBJECTS) 2>$(NUL)
128 clean: widl_clean