作者beagle1 (;;;;;)
看板b92902xxx
标题懒人的 Makefile
时间Sun Oct 5 02:03:25 2003
大家都是直接打 gcc -o aa aa.c 吗?
懒是一种美德, 要我每次都打这麽长, 一定会增加指关节炎的机率啊...
(本系三大职业病是关节炎, 近视, 还有痔疮, 请大家要注意保养身体)
make 是好东西, 不只是 compile 程式好用, 常用指令也可以写进去...
他会读 Makefile 这个文字档的内容, 我通常会在作业目录写这样一个东西:
# --------- >8 ----------- >8 --请由此处撕开-- >8 ----------- >8 ----------
#
# 注解用 # 开头, 这是 Beagle 的 Makefile
# 假设目录里有 hw1.c hw2.c hw3.c 三个作业
#
# 直接剪贴去用也可以, 但是下面标示
注意的地方要自己把空格换成tab
#
CC = gcc # 指明 C Compiler 要用哪一个
CFLAGS = -g -Wall # gcc option
BIN = hw1 hw2 hw3 # 要 make 几个执行档都写在这
all: $(BIN) # 第一个 target 是 default target,
# 也就是 make 等於 make all
# all: 和 $(BIN) 之间要用 tab 分开 <--
注意
clean:
rm -f $(BIN) # rm 自己一行, 前面要用 tab <--
注意
# End of Makefile
# --------- >8 ----------- >8 --请由此处撕开-- >8 ----------- >8 ----------
好的, 这样你只要在那个目录打 make 就会把三个程式做出来,
打 make clean 就会把三个执行档清掉...
想单独做 hw3 可以打 make hw3 就好...
make 会做更新判断, 假如 hw1 hw2 hw3 已经 make 好了, 你修改了 hw3.c 内容,
这时打 make , 会重新 compile hw3, 却不会 compile hw1 和 hw2 ...
如果你要强制重新 make 可以打 make clean 先清掉即可...
另外程式名称不要叫 test 或 love ...
test 是 UNIX 指令, 你也叫 test 的话有可能会执行到另一个 test
love 的话, 你会不敢在别人面前 make ... <-- 真实案例
我写的会不会太难懂啊? 感觉这篇写得没人看得懂的样子... :(
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.161.7.70