update for HEAD-2003091401
[reactos.git] / 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 DEP_FILTERED := $(filter-out $(DEP_EXCLUDE_FILTER), $(DEP_OBJECTS:.o=.d))
6 DEP_FILES := $(join $(dir $(DEP_FILTERED)), $(addprefix ., $(notdir $(DEP_FILTERED))))
7
8
9 # I (Andrew Greenwood) had to add this to compile under MinGW:
10 # SEP = /
11  
12 ifneq ($(MAKECMDGOALS),clean)
13 -include $(DEP_FILES)
14 endif
15
16 ifeq ($(SEP),\)
17 DEPENDS_PATH := $(subst /,\,$(PATH_TO_TOP))\tools
18 else
19 DEPENDS_PATH := $(PATH_TO_TOP)/tools
20 endif
21
22 .%.d: %.c $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
23         $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
24
25 .%.d: %.cc $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
26         $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
27
28 .%.d: %.cpp $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
29         $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
30
31 .%.d: %.s  $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
32         $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
33
34 .%.d: %.S  $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
35         $(CC) $(CFLAGS) -M $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@
36
37 .%.d: %.asm $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX)
38         $(NASM_CMD) $< | $(DEPENDS_PATH)$(SEP)depends$(EXE_POSTFIX) $(@D) $@