1
# Compiler and default flags
6
# Defaults for directories
7
ROOTDIR ?= $(shell pwd)
13
DEPENDDIR ?= $(ROOTDIR)
15
CXXFLAGS += $(addprefix -I ,$(INCDIR))
16
CFLAGS += $(addprefix -I ,$(INCDIR))
18
# Source files in this directory
19
SRC = $(wildcard *.cpp)
20
SRCC = $(wildcard *.c)
22
# Corresponding object files
23
OBJ = $(addprefix $(OBJDIR)/,$(SRC:.cpp=.o))
24
OBJ += $(addprefix $(OBJDIR)/,$(SRCC:.c=.o))
26
# Corresponding dependency files
27
DEPEND = $(addprefix $(DEPENDDIR)/,$(SRC:.cpp=.d))
28
DEPEND += $(addprefix $(DEPENDDIR)/,$(SRCC:.c=.d))
30
# This makes Verbose easier. Just prefix $(Q) to any command
37
###############################################################
40
# Target for automatic dependency generation
41
depend: $(DEPEND) $(DEPENDC);
43
# This rule generates a dependency makefile for each source
45
@echo -e "DEPEND \t$<"
46
$(Q)$(CC) $(addprefix -I ,$(INCDIR)) -MM -MF $@ \
47
-MT $(OBJDIR)/$(<:.c=.o) -MT $@ $<
49
# This includes the automatically
50
# generated dependency files
55
$(Q)@$(CC) $(CFLAGS) -c -o $@ $<