使用分支
-
使用如下搭配来进行选择性的编译路径
ifeq(arg1,arg2) /*如果arg1和arg2相等执行这里*/ else /*否则执行这里*/ endif
-
修改Makefile如下:
#定义变量 ARCH ?= x86 TARGET = hello_main CFLAGS=-I . DEPS = hello_func.h OBJS = hello_main.o hello_func.o ifeq ($(ARCH),x86) CC = gcc else CC = arm-linux-gnueabihf-gcc endif #目标文件 $(TARGET) : $(OBJS) $(CC) -o $@ $^ $(CFLAGS) #*.o文件的生成规则 %.o: %.c $(DEPS) $(CC) -c -o $@ $< $(CFLAGS) #伪目标 .PHONY: clean clean: rm -f *.o hello_main
-
演示-make
mdxz_18@mdxz18:~/lzp/workdir/base_code/linux_app/makefile_step/step_4$ make clean rm -f *.o hello_main mdxz_18@mdxz18:~/lzp/workdir/base_code/linux_app/makefile_step/step_4$ make gcc -c -o hello_main.o hello_main.c -I . gcc -c -o hello_func.o hello_func.c -I . gcc -o hello_main hello_main.o hello_func.o -I . mdxz_18@mdxz18:~/lzp/