e31164dc3284a5af8cf7a1babbe09def646a3384
[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 $(MKHIVE_OUT_)mkhive$(EXEPOSTFIX)
20
21 MKHIVE_SOURCES = $(addprefix $(MKHIVE_BASE_), \
22 binhive.c \
23 cmi.c \
24 mkhive.c \
25 reginf.c \
26 registry.c \
27 rtl.c \
28 )
29
30 MKHIVE_OBJECTS = \
31 $(addprefix $(INTERMEDIATE_), $(MKHIVE_SOURCES:.c=.o))
32
33 MKHIVE_HOST_CFLAGS = -fshort-wchar -I$(INFLIB_BASE) -I$(CMLIB_BASE) \
34 -DMKHIVE_HOST -Iinclude/reactos -Iinclude -g3 $(HOST_CFLAGS)
35
36 MKHIVE_HOST_LFLAGS = $(TOOLS_LFLAGS) -g3
37
38 .PHONY: mkhive
39 mkhive: $(MKHIVE_TARGET)
40
41 $(MKHIVE_TARGET): $(MKHIVE_OBJECTS) $(INFLIB_HOST_OBJECTS) $(CMLIB_HOST_OBJECTS) | $(MKHIVE_OUT)
42 $(ECHO_LD)
43 ${host_gcc} $(MKHIVE_OBJECTS) $(INFLIB_HOST_OBJECTS) $(CMLIB_HOST_OBJECTS) $(MKHIVE_HOST_LFLAGS) -o $@
44
45 $(MKHIVE_INT_)binhive.o: $(MKHIVE_BASE_)binhive.c | $(MKHIVE_INT)
46 $(ECHO_CC)
47 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
48
49 $(MKHIVE_INT_)cmi.o: $(MKHIVE_BASE_)cmi.c | $(MKHIVE_INT)
50 $(ECHO_CC)
51 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
52
53 $(MKHIVE_INT_)mkhive.o: $(MKHIVE_BASE_)mkhive.c | $(MKHIVE_INT)
54 $(ECHO_CC)
55 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
56
57 $(MKHIVE_INT_)reginf.o: $(MKHIVE_BASE_)reginf.c | $(MKHIVE_INT)
58 $(ECHO_CC)
59 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
60
61 $(MKHIVE_INT_)registry.o: $(MKHIVE_BASE_)registry.c | $(MKHIVE_INT)
62 $(ECHO_CC)
63 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -c $< -o $@
64
65 $(MKHIVE_INT_)rtl.o: $(MKHIVE_BASE_)rtl.c | $(MKHIVE_INT)
66 $(ECHO_CC)
67 ${host_gcc} $(MKHIVE_HOST_CFLAGS) -Ilib/rtl -c $< -o $@
68
69 .PHONY: mkhive_clean
70 mkhive_clean:
71 -@$(rm) $(MKHIVE_TARGET) $(MKHIVE_OBJECTS) 2>$(NUL)
72 clean: mkhive_clean