标签:home head obj -- 测试环境 条件 bsp 变量 文件
测试环境
root@ubuntu16:/home/ubuntu16/code2# ll 总用量 32 drwxr-xr-x 2 root root 4096 9月 5 23:44 ./ drwxr-xr-x 7 ubuntu16 ubuntu16 4096 9月 5 23:44 ../ -rw-r--r-- 1 root root 68 9月 5 04:41 add.c -rw-r--r-- 1 root root 70 9月 5 04:51 add.h -rw-r--r-- 1 root root 152 9月 5 04:59 main.c -rw-r--r-- 1 root root 120 9月 5 23:28 makefile -rw-r--r-- 1 root root 68 9月 5 04:47 sub.c -rw-r--r-- 1 root root 70 9月 5 04:52 sub.h
gcc
root@ubuntu16:/home/ubuntu16/code2# gcc main.c add.c add.h sub.c sub.h -o all root@ubuntu16:/home/ubuntu16/code2# ll 总用量 44 drwxr-xr-x 2 root root 4096 9月 5 23:45 ./ drwxr-xr-x 7 ubuntu16 ubuntu16 4096 9月 5 23:44 ../ -rw-r--r-- 1 root root 68 9月 5 04:41 add.c -rw-r--r-- 1 root root 70 9月 5 04:51 add.h -rwxr-xr-x 1 root root 8720 9月 5 23:45 all* -rw-r--r-- 1 root root 152 9月 5 04:59 main.c -rw-r--r-- 1 root root 120 9月 5 23:28 makefile -rw-r--r-- 1 root root 68 9月 5 04:47 sub.c -rw-r--r-- 1 root root 70 9月 5 04:52 sub.h root@ubuntu16:/home/ubuntu16/code2# ./all 12 10
Makefile 1 原始版
root@ubuntu16:/home/ubuntu16/code2# cat makefile all : main.c add.c add.h sub.c sub.h cc main.c add.c add.h sub.c sub.h -o all .PHONY : clean clean : rm -rf *.o root@ubuntu16:/home/ubuntu16/code2# make all cc main.c add.c add.h sub.c sub.h -o all root@ubuntu16:/home/ubuntu16/code2# make clean rm -rf *.o root@ubuntu16:/home/ubuntu16/code2# ll 总用量 3156 drwxr-xr-x 2 root root 4096 9月 5 23:47 ./ drwxr-xr-x 7 ubuntu16 ubuntu16 4096 9月 5 23:44 ../ -rw-r--r-- 1 root root 68 9月 5 04:41 add.c -rw-r--r-- 1 root root 70 9月 5 04:51 add.h -rwxr-xr-x 1 root root 8720 9月 5 23:47 all* -rw-r--r-- 1 root root 152 9月 5 04:59 main.c -rw-r--r-- 1 root root 127 9月 5 23:47 makefile -rw-r--r-- 1 root root 68 9月 5 04:47 sub.c -rw-r--r-- 1 root root 70 9月 5 04:52 sub.h root@ubuntu16:/home/ubuntu16/code2# ./all 12 10
Makefile 2 变量版
root@ubuntu16:/home/ubuntu16/code2# cat makefile objects = main.o add.o sub.o heads = add.h sub.h all : $(objects) $(heads) cc $(objects) $(heads) -o all add.o : add.c cc -c add.c sub.o : sub.c cc -c sub.c main.o : main.c cc -c main.c .PHONY : clean clean : -rm -rf $(objects) root@ubuntu16:/home/ubuntu16/code2# make all cc -c main.c cc -c add.c cc -c sub.c cc main.o add.o sub.o add.h sub.h -o all root@ubuntu16:/home/ubuntu16/code2# make clean rm -rf main.o add.o sub.o root@ubuntu16:/home/ubuntu16/code2# ll 总用量 44 drwxr-xr-x 2 root root 4096 9月 5 23:54 ./ drwxr-xr-x 7 ubuntu16 ubuntu16 4096 9月 5 23:44 ../ -rw-r--r-- 1 root root 68 9月 5 04:41 add.c -rw-r--r-- 1 root root 70 9月 5 04:51 add.h -rwxr-xr-x 1 root root 8720 9月 5 23:53 all* -rw-r--r-- 1 root root 152 9月 5 04:59 main.c -rw-r--r-- 1 root root 238 9月 5 23:53 makefile -rw-r--r-- 1 root root 68 9月 5 04:47 sub.c -rw-r--r-- 1 root root 70 9月 5 04:52 sub.h root@ubuntu16:/home/ubuntu16/code2# ./all 12 10
Makefile 3 优化版
root@ubuntu16:/home/ubuntu16/code2# cat makefile objects = main.o add.o sub.o heads = add.h sub.h all : $(objects) $(heads) cc $^ -o $@ %.o : %.c cc -c $^ .PHONY : clean clean : -rm -rf $(objects) root@ubuntu16:/home/ubuntu16/code2# make all cc -c main.c cc -c add.c cc -c sub.c cc main.o add.o sub.o add.h sub.h -o all root@ubuntu16:/home/ubuntu16/code2# make clean rm -rf main.o add.o sub.o root@ubuntu16:/home/ubuntu16/code2# ll 总用量 44 drwxr-xr-x 2 root root 4096 9月 6 00:02 ./ drwxr-xr-x 7 ubuntu16 ubuntu16 4096 9月 5 23:44 ../ -rw-r--r-- 1 root root 68 9月 5 04:41 add.c -rw-r--r-- 1 root root 70 9月 5 04:51 add.h -rwxr-xr-x 1 root root 8720 9月 6 00:02 all* -rw-r--r-- 1 root root 152 9月 5 04:59 main.c -rw-r--r-- 1 root root 154 9月 6 00:02 makefile -rw-r--r-- 1 root root 68 9月 5 04:47 sub.c -rw-r--r-- 1 root root 70 9月 5 04:52 sub.h root@ubuntu16:/home/ubuntu16/code2# ./all 12 10
新增文件添加到对应变量即可。
条件
函数
标签:home head obj -- 测试环境 条件 bsp 变量 文件
原文地址:https://www.cnblogs.com/dailycode/p/9595650.html