makefile

来源:互联网 发布:纹身字体设计软件 编辑:程序博客网 时间:2024/06/05 18:56




************************************************************************************

SRC_DIR = ./src/LIB_DIR = ./lib/INC_DIR = ./inc/DEMO_DIR = ./demo/BIN_DIR = ./bin/SRC = $(wildcard $(SRC_DIR)*.c)OBJ = $(patsubst %.c, %.o, $(SRC))DEMO_SRC = $(DEMO_DIR)*.cTARGET_NAME = appLIB_NAME = libmystr.aCC = gccAR = ar -rsCP = install -c COMPILE = $(CC) -c $(CFLAGS) MODULE_LIB = -L $(LIB_DIR)CFLAGS += -Wall -g -I$(INC_DIR)LDFLAGS += -lmystrall:$(LIB_NAME)$(LIB_NAME):$(OBJ)$(AR) $(LIB_NAME) $(OBJ)$(CP) $(LIB_NAME) $(LIB_DIR)make demo%.o:%.c$(COMPILE) $< -o $@demo:#$(CC) -o $(DEMO_DIR)$(TARGET)  $(DEMO_SRC) $(CFLAGS) $(MODULE_LIB) $(LDFLAGS)$(CC) -o $(BIN_DIR)$(TARGET_NAME)  $(DEMO_SRC) $(CFLAGS) $(MODULE_LIB) $(LDFLAGS).PHONY: clean all democlean:$(RM) $(OBJ)$(RM) $(BIN_DIR)$(TARGET_NAME)$(RM) $(LIB_DIR)$(LIB_NAME)$(RM) $(LIB_NAME)


********************************************

src = $(wildcard $(src_path)*.c)obj = $(patsubst $(src_path)%.c, $(obj_path)%.o, $(src))target = $(patsubst $(src_path)%.c, $(obj_path)%, $(src))CC = gccCFLAGS = -Wall -gmyflags = -lmsrc_path = ./obj_path = ./all:$(target)$(target):%:%.o$(CC) $< -o  $@ $(CFLAGS) $(myflags) #all: app#app: $(obj)#$(CC) $^ -o $@ $(CFLAGS) $(myflags)$(obj_path)%.o:$(src_path)%.c$(CC) -c $< -o $@ $(CFLAGS)clean:@echo "clean object:"-rm -rf $(target) $(obj)@echo "clean complete".PHONY: clean all


0 0