Move precondition to rules
[reactos.git] / reactos / lib / 3rdparty / zlib / zlib.mak
1 ZLIB_BASE = $(LIB_BASE_)3rdparty$(SEP)zlib
2 ZLIB_BASE_ = $(ZLIB_BASE)$(SEP)
3 ZLIB_INT = $(INTERMEDIATE_)$(ZLIB_BASE)
4 ZLIB_INT_ = $(INTERMEDIATE_)$(ZLIB_BASE)$(SEP)
5 ZLIB_OUT = $(OUTPUT_)$(ZLIB_BASE)
6 ZLIB_OUT_ = $(OUTPUT_)$(ZLIB_BASE)$(SEP)
7
8 ifneq ($(INTERMEDIATE),$(OUTPUT))
9 $(ZLIB_OUT): | $(OUTPUT_)$(LIB_BASE)
10 $(ECHO_MKDIR)
11 ${mkdir} $@
12 endif
13
14 ZLIB_HOST_TARGET = \
15 $(ZLIB_OUT)$(SEP)zlib.host.a
16
17 ZLIB_HOST_SOURCES = $(addprefix $(ZLIB_BASE_), \
18 adler32.c \
19 compress.c \
20 crc32.c \
21 gzio.c \
22 uncompr.c \
23 deflate.c \
24 trees.c \
25 zutil.c \
26 inflate.c \
27 infback.c \
28 inftrees.c \
29 inffast.c \
30 )
31
32 ZLIB_HOST_OBJECTS = \
33 $(addprefix $(INTERMEDIATE_), $(ZLIB_HOST_SOURCES:.c=.host.o))
34
35 ZLIB_HOST_CFLAGS = -O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
36 -Wstrict-prototypes -Wmissing-prototypes $(TOOLS_CPPFLAGS)
37
38 $(ZLIB_HOST_TARGET): $(ZLIB_HOST_OBJECTS) | $(ZLIB_OUT)
39 $(ECHO_AR)
40 $(host_ar) -r $@ $(ZLIB_HOST_OBJECTS)
41
42 $(ZLIB_INT_)adler32.host.o: $(ZLIB_BASE_)adler32.c | $(ZLIB_INT)
43 $(ECHO_CC)
44 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
45
46 $(ZLIB_INT_)compress.host.o: $(ZLIB_BASE_)compress.c | $(ZLIB_INT)
47 $(ECHO_CC)
48 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
49
50 $(ZLIB_INT_)crc32.host.o: $(ZLIB_BASE_)crc32.c | $(ZLIB_INT)
51 $(ECHO_CC)
52 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
53
54 $(ZLIB_INT_)gzio.host.o: $(ZLIB_BASE_)gzio.c | $(ZLIB_INT)
55 $(ECHO_CC)
56 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
57
58 $(ZLIB_INT_)uncompr.host.o: $(ZLIB_BASE_)uncompr.c | $(ZLIB_INT)
59 $(ECHO_CC)
60 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
61
62 $(ZLIB_INT_)deflate.host.o: $(ZLIB_BASE_)deflate.c | $(ZLIB_INT)
63 $(ECHO_CC)
64 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
65
66 $(ZLIB_INT_)trees.host.o: $(ZLIB_BASE_)trees.c | $(ZLIB_INT)
67 $(ECHO_CC)
68 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
69
70 $(ZLIB_INT_)zutil.host.o: $(ZLIB_BASE_)zutil.c | $(ZLIB_INT)
71 $(ECHO_CC)
72 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
73
74 $(ZLIB_INT_)inflate.host.o: $(ZLIB_BASE_)inflate.c | $(ZLIB_INT)
75 $(ECHO_CC)
76 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
77
78 $(ZLIB_INT_)infback.host.o: $(ZLIB_BASE_)infback.c | $(ZLIB_INT)
79 $(ECHO_CC)
80 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
81
82 $(ZLIB_INT_)inftrees.host.o: $(ZLIB_BASE_)inftrees.c | $(ZLIB_INT)
83 $(ECHO_CC)
84 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
85
86 $(ZLIB_INT_)inffast.host.o: $(ZLIB_BASE_)inffast.c | $(ZLIB_INT)
87 $(ECHO_CC)
88 ${host_gcc} $(ZLIB_HOST_CFLAGS) -c $< -o $@
89
90 .PHONY: zlib_host
91 zlib_host: $(ZLIB_HOST_TARGET)
92
93 .PHONY: zlib_host_clean
94 zlib_host_clean:
95 -@$(rm) $(ZLIB_HOST_TARGET) $(ZLIB_HOST_OBJECTS) 2>$(NUL)
96 clean: zlib_host_clean