编译生成spdlog_app可执行程序
#Makefile
# 编译器
#COMPLITE=arm-none-linux-gnueabi-
#COMPLITE=/root/share/nuvoton_cross/arm_linux_4.8/bin/arm-nuvoton-linux-uclibceabi-
#/root/share/nuvoton_cross/host/usr/bin/
COMPLITE=arm-nuvoton-linux-gnueabi-
CC=$(COMPLITE)gcc
CXX=$(COMPLITE)g++
LD=$(COMPLITE)ld
# 编译选项
CFLAGS = -Wall
# 目标文件
TARGET = spdlog_app
OBJ_DIR = build
# 源文件
# 当前目录下的.cpp
#SRCS = $(wildcard *.cpp)
#其他目录下的.cpp
SRCS += $(wildcard src/*.cpp)
SRCS_C= $(wildcard src/*.c)
CFLAGS=-I./
CPPFLAGS=-I./
LDFLAGS=-L./
LIBS=-lpthread -levent -lrt
#LIBS=
CFLAGS += -Wall
CPPFLAGS += -W -Wall -std=c++11 -Wno-psabi -lc
CFLAGS += -I ./include
CPPFLAGS += -I ./include
#-Wall -fPIC -shared
# 头文件
#CFLAGS += -Imodule1/inc
#CFLAGS += -Imodule2/inc
#CFLAGS += -Ipath/to/include2
# LIB
#CFLAGS += -Lpath/to/lib1
#CFLAGS += -Lpath/to/lib2
#添加宏定义
#CFLAGS += -DANDROID_OS
# 对象文件和中间文件目录
OBJS = $(SRCS:%.cpp=$(OBJ_DIR)/%.o)
OBJS += $(SRCS_C:%.c=$(OBJ_DIR)/%.o)
# 默认构建目标
all: $(TARGET)
# 生成可执行文件
$(TARGET): $(OBJS)
$(CXX) $(LDFLAGS) $(LIBS) -o $@ $^
# 生成根目录下的目标文件
$(OBJ_DIR)/%.o: %.cpp | $(OBJ_DIR)
#创建文件夹很关键,不然会fail
@mkdir -p $(dir $@)
$(CXX) $(CPPFLAGS) -c $< -o $@
# 生成根目录下的目标文件
$(OBJ_DIR)/%.o: %.c | $(OBJ_DIR)
#创建文件夹很关键,不然会fail
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c $< -o $@
# 创建中间文件目录
$(OBJ_DIR):
mkdir -p $(OBJ_DIR)
clean:
@echo "clean: