a46a7be924be99f1d6ff6ebc6af85ff8fea211c4
[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
7 DEP_FILTERED := $(filter-out $(DEP_EXCLUDE_FILTER), $(DEP_OBJECTS:.o=.d))
8 DEP_FILES := $(join $(dir $(DEP_FILTERED)), $(addprefix ., $(notdir $(DEP_FILTERED))))
9
10 ifneq ($(MAKECMDGOALS),clean)
11 -include $(DEP_FILES)
12 endif
13
14 ifeq ($(SEP),\)
15 DEPENDS_PATH := $(subst /,\,$(PATH_TO_TOP))\tools
16 else
17 DEPENDS_PATH := $(PATH_TO_TOP)/tools
18 endif
19
20 MAKEDEP := $(DEPENDS_PATH)$(SEP)makedep$(EXE_POSTFIX)
21
22 .%.d: %.c $(MAKEDEP) $(GENERATED_HEADER_FILES)
23 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
24
25 .%.d: %.cc $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
26 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
27
28 .%.d: %.cpp $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
29 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
30
31 .%.d: %.s $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
32 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
33
34 .%.d: %.S $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
35 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
36
37 .%.d: %.asm $(PATH_TO_TOP)/tools/depends$(EXE_POSTFIX) $(GENERATED_HEADER_FILES)
38 $(MAKEDEP) $(filter -I%, $(CFLAGS)) -f$@ $<
39
40 endif