- Fix MS2PS rule to work on Windows.
[reactos.git] / reactos / tools / depend.mk
1 # Automatic dependancy tracking
2 # Define $DEP_OBJECTS before this file is included
3 # $DEP_OBJECTS contain a list of object files that are checked for dependancies
4
5 ifneq ($(DEPENDENCIES),no)
6 ifneq ($(MAKECMDGOALS),implib)
7
8 DEP_FILTERED := $(filter-out $(DEP_EXCLUDE_FILTER), $(DEP_OBJECTS:.o=.d))
9
10 PCH :=
11
12 ifeq ($(ROS_USE_PCH),yes)
13 ifneq ($(TARGET_PCH),)
14
15 PCH = $(TARGET_PCH).gch
16
17 DEP_FILTERED := $(DEP_FILTERED) $(TARGET_PCH:.h=.d)
18
19 endif # TARGET_PCH
20 endif
21
22 DEP_FILES := $(join $(dir $(DEP_FILTERED)), $(addprefix ., $(notdir $(DEP_FILTERED))))
23
24 ifneq ($(MAKECMDGOALS),clean)
25 -include $(DEP_FILES)
26 endif
27
28 ifeq ($(SEP),\)
29 DEPENDS_PATH := $(subst /,\,$(PATH_TO_TOP))\tools
30 else
31 DEPENDS_PATH := $(PATH_TO_TOP)/tools
32 endif
33
34 .%.d: %.c $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
35 $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
36
37 .%.d: %.cc $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
38 $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
39
40 .%.d: %.cpp $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
41 $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
42
43 .%.d: %.S $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
44 $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
45
46 .%.d: %.s $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
47 $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
48
49 .%.d: %.asm $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
50 $(NASM_CMD) $(NFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
51
52 .%.d: %.h $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
53 $(PCH_CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
54
55 endif
56 endif