36 lines
914 B
Makefile
36 lines
914 B
Makefile
|
PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||
|
|
||
|
OBJS = pinetab2_framework.o
|
||
|
|
||
|
ifeq ($(BUILD_MODE),debug)
|
||
|
CFLAGS += -g
|
||
|
else ifeq ($(BUILD_MODE),run)
|
||
|
CFLAGS += -O2
|
||
|
else ifeq ($(BUILD_MODE),linuxtools)
|
||
|
CFLAGS += -g -pg -fprofile-arcs -ftest-coverage
|
||
|
LDFLAGS += -pg -fprofile-arcs -ftest-coverage
|
||
|
EXTRA_CLEAN += pinetab2_framework.gcda pinetab2_framework.gcno $(PROJECT_ROOT)gmon.out
|
||
|
EXTRA_CMDS = rm -rf pinetab2_framework.gcda
|
||
|
else
|
||
|
$(error Build mode $(BUILD_MODE) not supported by this Makefile)
|
||
|
endif
|
||
|
|
||
|
CXX := aarch64-linux-gnu-$(CXX)
|
||
|
CC := aarch64-linux-gnu-$(CC)
|
||
|
CFLAGS += -I/usr/include
|
||
|
|
||
|
all: pinetab2_framework
|
||
|
|
||
|
pinetab2_framework: $(OBJS)
|
||
|
$(CXX) $(LDFLAGS) -o $@ $^
|
||
|
$(EXTRA_CMDS)
|
||
|
|
||
|
%.o: $(PROJECT_ROOT)%.cpp
|
||
|
$(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $<
|
||
|
|
||
|
%.o: $(PROJECT_ROOT)%.c
|
||
|
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
|
||
|
|
||
|
clean:
|
||
|
rm -fr pinetab2_framework $(OBJS) $(EXTRA_CLEAN)
|