$(MAKE) -f scripts/Makefile.build obj=$(build-dir) [para] Make进入由参数-f指定的Make文件scripts/Makefile.build,并传入参数 obj=$(build-dir)和para。 在scripts/Makefile.build的处理过程中,$(obj)代表此次Make命令要处理(编译、链接、和生成)文件所在的目录,该目录下的Makefile文件通常情况下都会被Ma...
$(MAKE) -f scripts/Makefile.build obj=$(build-dir) [para] Make进入由参数-f指定的Make文件scripts/Makefile.build,并传入参数 obj=$(build-dir)和para。 在scripts/Makefile.build的处理过程中,$(obj)代表此次Make命令要处理(编译、链接、和生成)文件所在的目录,该目录下的Makefile文件通常情况下都会被Ma...
$(shell[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR})//这里的shell是个函数,如果BUILD_DIR是一个目录名称,就把该目录创建出来 # Verify if it was successful. BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd) $(if$(BUILD_DIR),,$(error output directory "$(saved-output)" does...
$(top_builddir)/src/include/utils/probes.h: probes.h cd '$(dir $@)' && rm -f $(notdir $@) && \ $(LN_S) "../../../$(subdir)/probes.h" . .PHONY: install-data install-data: errcodes.txt installdirs $(INSTALL_DATA) $(srcdir)/errcodes.txt '$(DESTDIR)$(datadir)/errco...
SRCS_DIR = src # 头文件目录 INCS_DIR = inc # 编译输出目录 BUILD_DIR = build # 源文件 SRCS = $(wildcard $(SRCS_DIR)/*.c) # 头文件 INCS = $(wildcard $(INCS_DIR)/*.h) # 目标文件 OBJS = $(patsubst %.c, $(BUILD_DIR)/%.o, $(notdir $(SRCS))) ...
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules 标准的make指令是这样的:make -C $KDIR M=$PWD [target],下面分别介绍每个字段的含义。 -C选项:此选项指定内核源码的位置,make在编译时将会进入内核源码目录,执行编译,编译完成时返回。
当我们执行make或make all时,就开始生成all目标,其依赖于BUILD_DIR(GCC/build)目录中的TARGET(Huawei_LiteOS).elf文件,BUILD_DIR和TARGET为两个变量,一开始就被赋值,如下图所示,实际使用时$(变量)会被替换为变量的值,例如$(TARGET).elf最终会被替换为Huawei_LiteOS.elf。
__build : $(subdir-y) built-in.o $(subdir-y): make -C $@ -f $(TOPDIR)/Makefile.build built-in.o : $(cur_objs) $(subdir_objs) $(LD) -r -o $@ $^ #打包 dep_file = .$@.d %.o : %.c $(CC) $(CFLAGS) -Wp,-MD,$(dep_file) -c -o $@ $< ...
在Makefile中,可以使用变量来指定输出目录。下面是一个示例:```makefile# 定义输出目录变量OUTPUT_DIR = build# 编译规则$(OUTPUT_DIR)/target: ...
local' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR 用户可执行文件 [EPREFIX/bin] --sbindir=DIR 系统管理可执行文件 [EPREFIX/sbin] --libexecdir=DIR 程序可执行文件 [EPREFIX/libexec...