menu

makefile

  • date_range 14/12/2020 18:20
    点击量:
    info
    sort
    c
    label
    c

文章出自个人博客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
wechat 微信公众号:farmer in city