- Factor out .inf handling code from usetup
[reactos.git] / reactos / lib / inflib / inflib.mak
1 INFLIB_BASE = $(LIB_BASE_)inflib
2 INFLIB_BASE_ = $(INFLIB_BASE)$(SEP)
3 INFLIB_INT = $(INTERMEDIATE_)$(INFLIB_BASE)_host
4 INFLIB_INT_ = $(INTERMEDIATE_)$(INFLIB_BASE)_host$(SEP)
5 INFLIB_OUT = $(OUTPUT_)$(INFLIB_BASE)_host
6 INFLIB_OUT_ = $(OUTPUT_)$(INFLIB_BASE)_host$(SEP)
7
8 $(INFLIB_INT): | $(LIB_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(INFLIB_OUT): | $(OUTPUT_)$(LIB_BASE)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18 INFLIB_HOST_TARGET = \
19 $(INFLIB_OUT)$(SEP)inflib.a
20
21 INFLIB_HOST_SOURCES = $(addprefix $(INFLIB_BASE_), \
22 infcore.c \
23 infget.c \
24 infhostgen.c \
25 infhostget.c \
26 )
27
28 INFLIB_HOST_OBJECTS = \
29 $(subst $(INFLIB_BASE), $(INFLIB_INT), $(INFLIB_HOST_SOURCES:.c=.o))
30
31 INFLIB_HOST_CFLAGS = -O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
32 -Wstrict-prototypes -Wmissing-prototypes -DINFLIB_HOST -D_M_IX86 \
33 -I$(INFLIB_BASE) -Iinclude/reactos
34
35 $(INFLIB_HOST_TARGET): $(INFLIB_HOST_OBJECTS) | $(INFLIB_OUT)
36 $(ECHO_AR)
37 $(host_ar) -r $@ $(INFLIB_HOST_OBJECTS)
38
39 $(INFLIB_INT_)infcore.o: $(INFLIB_BASE_)infcore.c | $(INFLIB_INT)
40 $(ECHO_CC)
41 ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@
42
43 $(INFLIB_INT_)infget.o: $(INFLIB_BASE_)infget.c | $(INFLIB_INT)
44 $(ECHO_CC)
45 ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@
46
47 $(INFLIB_INT_)infhostgen.o: $(INFLIB_BASE_)infhostgen.c | $(INFLIB_INT)
48 $(ECHO_CC)
49 ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@
50
51 $(INFLIB_INT_)infhostget.o: $(INFLIB_BASE_)infhostget.c | $(INFLIB_INT)
52 $(ECHO_CC)
53 ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@
54
55 .PHONY: inflib_host
56 inflib_host: $(INFLIB_HOST_TARGET)
57
58 .PHONY: inflib_host_clean
59 inflib_host_clean:
60 -@$(rm) $(INFLIB_HOST_TARGET) $(INFLIB_HOST_OBJECTS) 2>$(NUL)
61 clean: inflib_host_clean