关于Makefile终极目标的问题
现有资料上说makefile中的第一个目标是终极目标,但是我有一个软件生成的makefile
按道理说第一个目标应该是$(OUTDIR)/%.o : ../Produce/DemoSrc/%.c(DemoSrc目录里有多个.c文件),但是实际make(不加任何参数,不设置任何环境变量)时,却是以all为目标,但是all不是第一个目标啊,莫非$(OUTDIR)/%.o 形式的目标不算数?
MAKE=make
RM=rm
MKDIR=mkdir
OUTDIR=Debug
OUTFILE=../Produce/DemoEXE/SendDemo
CFG_INC=-I../Produce/Library -I../Produce/DemoSrc
CFG_LIB=-lm -lpthread -lutsdk
CFG_OBJ=
COMMON_OBJ=$(OUTDIR)/helper.o $(OUTDIR)/send.o
OBJ=$(COMMON_OBJ) $(CFG_OBJ)
ALL_OBJ=$(OUTDIR)/helper.o $(OUTDIR)/send.o -lm -lpthread -lutsdk
COMPILE=gcc -c -g -o "$(OUTDIR)/$(*F).o" $(CFG_INC) $<
LINK=gcc -g -L ../Produce/Library -o "$(OUTFILE)" $(ALL_OBJ)
# Pattern rules
$(OUTDIR)/%.o : ../Produce/DemoSrc/%.c
$(COMPILE)
# Build rules
all: $(OUTFILE)
$(OUTFILE): $(OUTDIR) $(OBJ)
$(LINK)
$(OUTDIR):
$(MKDIR) -p "$(OUTDIR)"
# Rebuild this project
rebuild: cleanall all
# Clean this project
clean:
$(RM) -f $(OUTFILE)
$(RM) -f $(OBJ)
# Clean this project and all dependencies
cleanall: clean
按道理说第一个目标应该是$(OUTDIR)/%.o : ../Produce/DemoSrc/%.c(DemoSrc目录里有多个.c文件),但是实际make(不加任何参数,不设置任何环境变量)时,却是以all为目标,但是all不是第一个目标啊,莫非$(OUTDIR)/%.o 形式的目标不算数?
...全文
相关推荐
GNU makefile学习资料
#### 第九章:执行make- **9.1 指定makefile文件**:介绍了几种方法来指定要使用的Makefile文件。- **9.2 指定终极目标**:解释了如何指定make执行的终极目标。
免费:makefile编程
#### 执行 make- **指定 makefile 文件**:介绍如何指定要使用的 makefile 文件。- **指定终极目标**:说明如何指定 make 构建过程的最终目标。
Linux Makefile与Shell的问题
"Linux Makefile与Shell的交互及其常见问题"在Linux开发环境中,Makefile是构建项目的重要工具,它可以调用Shell脚本来执行一系列自动化任务。然而,Makefile
Makefile 多目录编译Demo
Makefile 多目录编译Demo"着重讲解了如何在复杂的项目结构中有效利用Makefile进行编译。下面我们将深入探讨Makefile的核心概念、多目录编译的挑战以及解决这些问题的三种常见方法。
Windows 下的 Makefile 编写(一)Makefile的基本规则
### Windows 下的 Makefile 编写(一)Makefile 的基本规则#### 一、Makefile 概述Makefile 是一种广泛应用于软件构建过程中的自动化脚本文件,主要用于描述项目构建过程中的依赖关系和构建步骤


