- 主题:静态模式里面如何添加头文件依赖?
SRCS := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp, %.o, $(SRCS))
OBJS_WITH_DIR := $(addprefix $(OBJS_DIR), $(OBJS))
all:$(OBJS_WITH_DIR)
$(OBJS_WITH_DIR):$(OBJS_DIR)%.o:%.cpp
$(CC) -c -I $(INC_DIR) $^ -o $@
$(INC_DIR),$(OBJS_DIR)都是上级Makefile export的。
这种写法,当头文件改动的时候,不会重新编译,如何在静态模式里面添加一个头文件依赖?
--
FROM 111.201.208.*
1. 通过gcc -MM生成依赖文件
2. -include $(wildcard *.dep)
【 在 cleaf 的大作中提到: 】
: SRCS := $(wildcard *.cpp)
: OBJS := $(patsubst %.cpp, %.o, $(SRCS))
: OBJS_WITH_DIR := $(addprefix $(OBJS_DIR), $(OBJS))
: ...................
--
FROM 223.104.42.*
问一个include的问题
有一个子make:
SRCS := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp, %.o, $(SRCS))
OBJS_WITH_DIR := $(addprefix $(OBJ_DIR)/, $(OBJS))
INCS := $(wildcard $(INC_DIR)/*.h)
all:$(OBJS_WITH_DIR)
CFLAGS=${SLEPC_CC_INCLUDES}
include ${SLEPC_DIR}/lib/slepc/conf/slepc_common
$(OBJS_WITH_DIR):$(OBJ_DIR)/%.o:%.cpp $(INCS)
-${CLINKER} -c -I $(INC_DIR)/ ${CFLAGS} $< -o $@
如果把
CFLAGS=${SLEPC_CC_INCLUDES}
include ${SLEPC_DIR}/lib/slepc/conf/slepc_common
这两行写在all前面,则这个子Make就会什么都不做,这是为什么?
【 在 prc79 的大作中提到: 】
: 1. 通过gcc -MM生成依赖文件
: 2. -include $(wildcard *.dep)
--
FROM 111.201.208.*
看不出原因,打印一下obj_with_dirs看看
【 在 cleaf 的大作中提到: 】
: 问一个include的问题
: 有一个子make:
: SRCS := $(wildcard *.cpp)
: ...................
--
FROM 117.136.0.*