SRC_DIR=./src OBJ_DIR=./obj BIN_DIR?=./bin INC_DIR=-I./include $(INHERIT_INCLUDES) LIB_DIR?= ifdef COMPUTER CC = clang else CC = arm-linux-gnueabihf-gcc CXX = arm-linux-gnueabihf-g++ endif CPPFLAGS = -I . CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481 CXXFLAGS = -g -std=gnu++11 -O1 -Wall ifdef COMPUTER LDFLAGS = -lmzapo-pheripherals -lmagic $(shell sdl2-config --libs) -lSDL2_image CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags) else LDFLAGS = -lmzapo-pheripherals -l :libmagic.so.1 endif LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR) NAME=file-browser BINARY=$(BIN_DIR)/$(NAME) SRC=$(wildcard $(SRC_DIR)/*.c) OBJ=$(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC)) CFLAGS+=$(INC_DIR) -Wall -Werror CFLAGS+=$(shell sdl2-config --cflags) .PHONY: all clean all: $(BINARY) $(BINARY): $(OBJ) | $(BIN_DIR) $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) $(CC) $(CFLAGS) -c $< -o $@ $(BIN_DIR) $(OBJ_DIR): echo $(BIN_DIR) mkdir -p $@ dep: depend depend: $(SRC) $(HEADERS) echo '# autogenerated dependencies' > depend ifneq ($(filter %.c,$(SRC)),) $(CC) $(CFLAGS) $(CPPFLAGS) -w -E -M $(filter %.c,$(SRC)) \ >> depend endif ifneq ($(filter %.cpp,$(SRC)),) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -w -E -M $(filter %.cpp,$(SRC)) \ >> depend endif clean: $(RM) -rv $(BIN_DIR) $(OBJ_DIR) $(RM) -rv .cache $(RM) -rv connect.gdb $(RM) -rv depend -include $(OBJ:.o=.d) -include depend