当前位置: 技术问答>linux和unix
菜鸟求帮忙!这个功能可不可以用shell脚本实现?
来源: 互联网 发布时间:2016-12-27
本文导语: 最近在用linux练习写程序,假如我在一个文件夹内写了几个c源程序,分别是1.c 2.c 3.c 有没有通过一个脚本自动写好makefile? 假如我的makefile是这么写的 OBJS = 1.c 2.c 3.c main: ${OBJS} gcc -o test ${OBJS} clean...
最近在用linux练习写程序,假如我在一个文件夹内写了几个c源程序,分别是1.c 2.c 3.c
有没有通过一个脚本自动写好makefile?
假如我的makefile是这么写的
OBJS = 1.c 2.c 3.c
main: ${OBJS}
gcc -o test ${OBJS}
clean:
rm -f test ${OBJS}
我是这么想的,先写好一个makefile范例在root文件夹内,
再进入我的C程序文件夹后,里面有sin.c cos.c hello.c 这3个源程序,
脚本有以下内容:
1,复制root文件夹内的makefile范例。
ls 输出C程序文件夹内的 sin.c cos.c hello.c 后替换复制后的makefile中 OBJS = 后的1.c 2.c 3.c
2, 再将修改的makefile复制到C程序文件夹。
不知道我描述清楚了没有,能不能实现呢?
有没有通过一个脚本自动写好makefile?
假如我的makefile是这么写的
OBJS = 1.c 2.c 3.c
main: ${OBJS}
gcc -o test ${OBJS}
clean:
rm -f test ${OBJS}
我是这么想的,先写好一个makefile范例在root文件夹内,
再进入我的C程序文件夹后,里面有sin.c cos.c hello.c 这3个源程序,
脚本有以下内容:
1,复制root文件夹内的makefile范例。
ls 输出C程序文件夹内的 sin.c cos.c hello.c 后替换复制后的makefile中 OBJS = 后的1.c 2.c 3.c
2, 再将修改的makefile复制到C程序文件夹。
不知道我描述清楚了没有,能不能实现呢?
|
makefile 不是那么写
OBJS 1.o,2.o,3.o
main:($OBJS)
gcc -o main $(OBJS)
$(OBJS):1.c,2.c,3.c
clean:
rm -f main $(OBJS)
文件少了没必要用makefile
文件多了,还是自己重写一个好
|
掉了个=
|
呵呵,如果程序文件就一两个的话,没必要用Makefile编译,直接用gcc编译就行了。同时你上面的那个makefile文件貌似写错了吧。
|
CPP_FILES := $(wildcard *.cpp)
OBJ_FILES := $(CPP_FILES:.cpp=.o)
main.exe: $(OBJ_FILES)
g++ -o $@ $
OBJ_FILES := $(CPP_FILES:.cpp=.o)
main.exe: $(OBJ_FILES)
g++ -o $@ $