makefile
文章出自个人博客https://applelin8.github.io/2020/12/14/makefile,转载请申明
content
makefile
PARAMETER
make PARAMETER=parameter
variable
var_a=a
target
target : depends
.PHONY: clean all
#PARAMETER ?= DBG
PARAMETER ?=
$(info PARAMETER=$(PARAMETER))
ifeq ($(PARAMETER), DBG)
CFLAGS += -DDBG_DEMO
endif
SRC_DIR = ./src
INC_DIR = ./include
DBG_DIR = ./debug
debug = demo_dbg
fuzzer = demo
CFLAGS += -I$(INC_DIR) -I./lib ${CFLAG}
all : $(fuzzer)
clean :
rm -f $(fuzzer) demo_dbg $(SRC_DIR)/*.o $(DBG_DIR)/*.o
SRCS= $(wildcard $(SRC_DIR)/*.c)
OBJS= $(SRCS:.c=.o)
DBG_SRCS=$(wildcard $(DBG_DIR)/*.c) $(SRC_DIR)/abc.c
DBG_OBJS= $(DBG_SRCS:.c=.o)
$(OBJS) : lib/example.h
.c.o: $(CC) -c ./$(SRC_DIR)/$^ $(DBG_DIR)/$^ ${CFLAGS}
demo : $(OBJS)
$(CC) $(CFLAGS) $^ -o $@
demo_dbg : $(DBG_OBJS)
$(CC) $(CFLAGS) $^ -o $@
dbg : clean demo_dbg
make
make
make all
make
make dbg PARAMETER=DBG
make clean
make demo
评论:
技术文章推送
手机、电脑实用软件分享
微信公众号:farmer in city