模板1
CC = arm-linux-gnueabihf-gcc
SRCS = $(wildcard *.c)
SRCS := $(filter-out no_compile1.c no_compile2.c,$(SRCS))
OBJS = $(patsubst %c, %o, $(SRCS))
# -I指定头文件目录
INCLUDE = -I./
# -L指定库文件目录,-l指定静态库名字(去掉文件名中的lib前缀和.a后缀)
LIB = -L . -lpthread
# 开启编译warning和设置优化等级
CFLAGS = -Wall -g -rdynamic -funwind-tables -ffunction-sections
TARGET = reader
.PHONY:all clean
all: $(TARGET)
# 链接时候指定库文件目录及库文件名
$(TARGET): $(OBJS)
$(CC) $(LIB) -o $@ $^
# 编译时候指定头文件目录
%o:%c
$(CC) -c $^ $(INCLUDE) $(CFLAGS)
clean:
rm -f $(OBJS) $(TARGET)
模板2
CC = gcc
SRCS = $(wildcard ./test/*.c)
SRCS += $(wildcard ./nist_sts/*.c)
OBJS = $(patsubst %c, %o, $(SRCS))
# -I指定头文件目录
INCLUDE = -I./nist_sts/include/ -I/usr/local/include/
# -L指定库文件目录,-l指定静态库名字(去掉文件名中的lib前缀和.a后缀)
LIB = -L /usr/local/lib/ -lcrypto -lssl
# 开启编译warning和设置优化等级
CFLAGS = -g -Wall
#-rdynamic -funwind-tables -ffunction-sections
TARGET = reader
.PHONY:all clean
all:$(TARGET)
$(TARGET):$(OBJS)
$(CC) -o $@ $^ $(LIB)
%.o:%.c
$(CC) $(CFLAGS) $(INCLUDE) -o $@ -c $<
clean:
rm -f $(OBJS) $(TARGET)