jw-pkg/make/depend.mk
Jan Lindemann f869b5aaca defs.mk: Define Q and use it in *.mk
Define Q ?= @, and replace @<command> in recipes by $(Q)<command>.
Meant to be overridden from the environment for debugging as in

  Q= make

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-01-26 17:58:23 +01:00

45 lines
1.1 KiB
Makefile

# variables
DEPEND_CFLAGS += -D__MAKEDEPEND__
DEPEND_CXXFLAGS += -D__MAKEDEPEND__
DEPEND_MK += $(addprefix .,$(addsuffix .dep.mk, $(BUILD_OBJ)))
ifeq ($(DEPEND_MK_INCLUDED),)
all:
clean: depclean
# convenience targets
dep: $(DEPEND_MK)
depclean:
$(RM) -f .*.dep.mk
$(DEPEND_MK): $(PREREQ_DONE)
ifneq ($(DEPEND_MK),)
ifeq ($(MAKECMDGOALS),)
-include $(DEPEND_MK)
endif
ifneq ($(filter all,$(MAKECMDGOALS)),)
-include $(DEPEND_MK)
endif
endif
%.o: .%.o.dep.mk
.%.o.dep.mk: %.cpp $(BUILD_HDR) $(SRC_H)
$(CC) -M $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
.%.o.dep.mk: %.cc $(BUILD_HDR) $(SRC_H)
$(CC) -M $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
.%.o.dep.mk: %.c $(BUILD_HDR) $(SRC_H)
$(CC) -M $(FINAL_CFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
show-vars: show-vars-depend-mk
show-vars-depend-mk:
$(Q)echo DEPEND_MK = $(DEPEND_MK)
$(Q)echo BUILD_HDR = $(BUILD_HDR)
$(Q)echo SRC_H = $(SRC_H)
endif # DEPEND_MK_INCLUDED
DEPEND_MK_INCLUDED := true