1
#-------------------------------------------------
3
#-------------------------------------------------
7
ROOT ?= $(shell pwd)/../..
8
TARGET ?= linux-release
10
INCDIR := $(ROOT)/include
11
LIBDIR := $(ROOT)/lib/$(TARGET)
15
SOURCES := $(wildcard *.cc)
16
OBJECTS := $(addprefix $(OBJDIR)/,$(SOURCES:.cc=.o))
17
DEPS := $(addprefix $(DEPDIR)/,$(SOURCES:.cc=.d))
19
include $(ROOT)/vars.mk
21
CPPFLAGS := $(CPPFLAGS) -I$(INCDIR)
24
#-------------------------------------------------
26
#-------------------------------------------------
33
@echo "Compiling $(PROG) for TARGET=$(TARGET)"
34
@echo " Compiler = $(CXX) $(CPPFLAGS) $(CXXFLAGS)"
35
@echo " Linker = $(CXX) $(CXXFLAGS) <objects> $(LDFLAGS)"
41
@export LD_LIBRARY_PATH=$(LIBDIR); \
42
$(CXX) -o $@ $^ $(CXXFLAGS) -L$(LIBDIR) -Wl,-Bstatic -lPuma -Wl,-Bdynamic $(CPPFLAGS)
43
# $(CXX) -o $@ $^ $(CXXFLAGS) -L$(LIBDIR) -Wl,-Bdynamic -lPuma -Wl,-Bdynamic $(CPPFLAGS)
46
@echo "Making $(PROG) clean..."
48
@rm -rf $(DEPDIR) $(OBJDIR)
50
#-------------------------------------------------
52
#-------------------------------------------------
55
@echo "Compiling $(filter %.cc,$^)..."
57
@$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -g -o $@ $(filter %.cc,$^)
60
@echo "Generating dependencies for $(filter %.cc,$^)..."
62
@$(CXX) $(CPPFLAGS) $(CXXFLAGS) -MM $(filter %.cc,$^) | \
63
sed -e "s/$*\.o/$(OBJDIR)\/& $(DEPDIR)\/$*.d/g" > $@
67
#-------------------------------------------------
69
#-------------------------------------------------
71
ifneq ($(MAKECMDGOALS),clean)