Use inflib.
[reactos.git] / reactos / tools / mkhive / mkhive.mak
1 MKHIVE_BASE = $(TOOLS_BASE_)mkhive
2 MKHIVE_BASE_ = $(MKHIVE_BASE)$(SEP)
3 MKHIVE_INT = $(INTERMEDIATE_)$(MKHIVE_BASE)
4 MKHIVE_INT_ = $(MKHIVE_INT)$(SEP)
5 MKHIVE_OUT = $(OUTPUT_)$(MKHIVE_BASE)
6 MKHIVE_OUT_ = $(MKHIVE_OUT)$(SEP)
7
8 $(MKHIVE_INT): | $(TOOLS_INT)
9 $(ECHO_MKDIR)
10 ${mkdir} $@
11
12 ifneq ($(INTERMEDIATE),$(OUTPUT))
13 $(MKHIVE_OUT): | $(TOOLS_OUT)
14 $(ECHO_MKDIR)
15 ${mkdir} $@
16 endif
17
18 MKHIVE_TARGET = \
19 $(EXEPREFIX)$(MKHIVE_OUT_)mkhive$(EXEPOSTFIX)
20
21 MKHIVE_SOURCES = $(addprefix $(MKHIVE_BASE_), \
22 binhive.c \
23 mkhive.c \
24 reginf.c \
25 registry.c \
26 )
27
28 MKHIVE_OBJECTS = \
29 $(addprefix $(INTERMEDIATE_), $(MKHIVE_SOURCES:.c=.o))
30
31 MKHIVE_HOST_CFLAGS = $(xTOOLS_CFLAGS) -I$(INFLIB_BASE) -g3
32
33 MKHIVE_HOST_LFLAGS = $(xTOOLS_LFLAGS) -g3
34
35 .PHONY: mkhive
36 mkhive: $(MKHIVE_TARGET)
37
38 $(MKHIVE_TARGET): $(MKHIVE_OBJECTS) $(INFLIB_HOST_OBJECTS) | $(MKHIVE_OUT)
39 $(ECHO_LD)
40 ${host_gcc} $(MKHIVE_OBJECTS) $(INFLIB_HOST_OBJECTS) $(MKHIVE_HOST_LFLAGS) -o $@
41
42 $(MKHIVE_INT_)binhive.o: $(MKHIVE_BASE_)binhive.c | $(MKHIVE_INT)
43 $(ECHO_CC)
44 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
45
46 $(MKHIVE_INT_)mkhive.o: $(MKHIVE_BASE_)mkhive.c | $(MKHIVE_INT)
47 $(ECHO_CC)
48 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
49
50 $(MKHIVE_INT_)reginf.o: $(MKHIVE_BASE_)reginf.c | $(MKHIVE_INT)
51 $(ECHO_CC)
52 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
53
54 $(MKHIVE_INT_)registry.o: $(MKHIVE_BASE_)registry.c | $(MKHIVE_INT)
55 $(ECHO_CC)
56 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
57
58 .PHONY: mkhive_clean
59 mkhive_clean: $(MKHIVE_TARGET)
60 -@$(rm) $(MKHIVE_TARGET) $(MKHIVE_OBJECTS) 2>$(NUL)
61 clean: mkhive_clean