Makefile 练习(一):单个源文件
1.程序编译过程
2. 单个源文件
main.c
#include <stdio.h>
int main()
{
#ifdef _SWITCH_
printf("Hello, this is from Switch\r\n");
#else
printf("Sorry, it doesn't work\r\n");
#endif
return 0;
}
Makefile
# Makefile test // 注释
VAR_ENABLE = y // 变量定义
ifeq ($(VAR_ENABLE), y) // 条件判断
CC := gcc // 变量定义—
TAR := main
OBJ := main.o
endif
CFLAGS = -D_SWITCH_ // 宏定义
$(TAR):$(OBJ)
$(CC) $(OBJ) -o $(TAR)
@echo "___Make Enable___";
.PHONY: // 伪目标
clean:
rm -rf $(OBJ)
cleanall:
rm -rf $(OBJ) $(TAR)
以上,Makefile里练习了常用的一下概念,调试过程中遇到的bug如下
(1) Makefile:5: *** missing separator。 停止。
原因在于:ifeq 与 () 之间缺少了空格