#指定gcc头文件路径 INCDIR := $(patsubst %, -I%, $(incdirs)) #为.c文件指定搜索目录 vpath %.c $(srcdirs) #为.h文件指定搜索目录 vpath %.h $(incdirs) .PHONY: all clean objdir: @echo "create obj directory" -mkdir $(objdir) $(objdir)/%.o: %.c gcc -MD $(INCDIR) -c $<...
- $(INCDIR):获取头文件所在的目录的绝对路径。 可以在makefile中定义这些变量,例如: CURDIR := $(shell pwd) SRCDIR := $(CURDIR)/src INCDIR := $(CURDIR)/include 在上面的示例中,使用pwd命令获取当前目录的绝对路径,并将其赋值给变量CURDIR。然后通过拼接字符串的方式,定义SRCDIR和INCDIR变量。 这样,在...
Cflags = -c $(DEBUG) Libs = -lpthread Lib_Dir=./ #/data/users/osa/api/ #PKIOBJ=PKITool.o kdmd5.o Lib=alg.a PkiObj=alg.o .c.o: $(Cc) $(Cflags) $(IncDir) $*.c all: PKITool #clean PKITool:$(PkiObj) ar ruv $(Lib_Dir)$(Lib) *.o ranlib $(Lib_Dir)$(Lib) clean: rm...
Makefile里面获取相对路径必须在pwd前面加shell,然后把shell pwd当一个变量来引用,书写形式是:$(shell pwd) INCDIR := $(shell pwd) //将shell pwd作为变量,通过 $(shell pwd)形式引用这个变量 # C预处理器的flag,flag就是编译器可选的选项 CPPFLAGS := -nostdlib -nostdinc -I$(INCDIR)/include //-nost...
$(Cc) $(Cflags) $(IncDir) $*.c all: PKITool #clean PKITool:$(PkiObj) ar ruv $(Lib_Dir)$(Lib) *.o ranlib $(Lib_Dir)$(Lib) clean: rm *.o target=testmake cc = gcc objects = main.o #mult.o sub.o link = cflags = Wall -O ...
CFLAGS := -I$(INCDIR) -c -Wall -g #LDFLAGS表示在编译的时候编译器的链接库选项 LDFLAGS := -L$(LIBDIR) -static -lpthread #wildcard函数,它有一个参数,功能是展开成一列所有符合由其参数描述的文件名,文件间以空格间隔 #以下命令表示:产生一个所有以".c"结尾的文件列表,然后存入变量SOURCES里。当然...
CFLAGS = -g -Wall ${INCDIR} -DDEBUG ${BIN_TARGET}:${OBJ} $(CC) $(OBJ) -o $@ ${LIBDIR} -ljson -lcurl #利用Makefile自动推导功能和自动化变量,用一条语句实现同一个目录下多个源文件的编译 #根据多个源文件目录添加多个,注意不同目录下的源文件不能重名 ...
rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~ 执行make,遇到错误了~ gcc -c -o obj/hellomake.o hellomake.c -I../include Assembler messages: Fatal error: can't create obj/hellomake.o: No such file or directory makefile:18: recipe for target 'obj/hellomake.o' failed ...
$(CC) -I$(INCDIR) -Wall -c $< -o $@ 此处是将obj文件夹下的所有.cc文件全部编译成.o文件,好处在于我们新添加一个.cc文件,不需要再修改makefile 补充知识点:-I指令就是在你指定的文件路径下建立一个include目录。 举一反三,我们来尝试写一下编译.cpp和.cu文件的makefile代码指令 ...
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)drivers$(DELIM)zigbee$(DELIM)src$(DELIM)components$(DELIM)stack$(DELIM)af} 回归到driver/zigbee下的makefile文件;all为目标文件,depend后为需要编译的源文件,$(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(...