当前位置: 技术问答>linux和unix
makefile编写 菜鸟问题 在线等着呢
来源: 互联网 发布时间:2015-10-16
本文导语: 请问: 我有下面三个文件,需要编写makefile cut.cpp cut.h mstcpip.h 其中cut.cpp 中引用了cut.h cut.h 中引用了 mstcpip.h 我该怎么编写makefile? 大虾们看这样写行吗? myfile:cuta.o gcc cuta.o -o myfile cuta.o: cut.cpp cut.h ...
请问:
我有下面三个文件,需要编写makefile
cut.cpp cut.h mstcpip.h
其中cut.cpp 中引用了cut.h
cut.h 中引用了 mstcpip.h
我该怎么编写makefile?
大虾们看这样写行吗?
myfile:cuta.o
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp
请大虾们指教!
我有下面三个文件,需要编写makefile
cut.cpp cut.h mstcpip.h
其中cut.cpp 中引用了cut.h
cut.h 中引用了 mstcpip.h
我该怎么编写makefile?
大虾们看这样写行吗?
myfile:cuta.o
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp
请大虾们指教!
|
gcc -c cut.cpp -> gcc -c cut.cpp -o $@
|
给你个例子,养成好的写makefile的方法
这样写的话虽然能通过,假如调整的更好点是否更好.
我只给个例子,照这个做看看
1 #Updated makefile that uses some built-in macros and
2 #@-preceded commands
3 define CC
4 gcc
5 endef
6 OPTIONS = -o3
7 OBJECTS = main.o input.o compute.o
8 SOURCES = main.c input.c compute.c
9 HEADERS = main.h input.h compute.h
10 complete:power
11 @echo "Build complete"
12 power: $(OBJECTS)
13 $(CC) $(OPTIONS) -o $@ $^ -lm
14 @echo "The executable is in the 'power' file."
15 main.o:main.h input.h compute.h
16 input.o: input.h
17 compute.o:compute.h
18 power.tar: makefile $(HEADERS) $(SOURCES)
19 tar -cvf $@ $^
20 clean:
21 rm -f *.o core power
这样写的话虽然能通过,假如调整的更好点是否更好.
我只给个例子,照这个做看看
1 #Updated makefile that uses some built-in macros and
2 #@-preceded commands
3 define CC
4 gcc
5 endef
6 OPTIONS = -o3
7 OBJECTS = main.o input.o compute.o
8 SOURCES = main.c input.c compute.c
9 HEADERS = main.h input.h compute.h
10 complete:power
11 @echo "Build complete"
12 power: $(OBJECTS)
13 $(CC) $(OPTIONS) -o $@ $^ -lm
14 @echo "The executable is in the 'power' file."
15 main.o:main.h input.h compute.h
16 input.o: input.h
17 compute.o:compute.h
18 power.tar: makefile $(HEADERS) $(SOURCES)
19 tar -cvf $@ $^
20 clean:
21 rm -f *.o core power
|
我看好象可以,运行下就晓得了嘛
|
g++ cut.cpp 只要头文件再一个目录下就可以了 如果不是就-I path
|
myfile:cuta.o
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp -o cuta.o//加一点好象也可以的
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp -o cuta.o//加一点好象也可以的
|
myfile : cut.cpp cut.h mstcpip.h
gcc cut.cpp -o $@
gcc cut.cpp -o $@
|
没有问题,不要忘记TAB,呵呵
|
You are right!
|
myfile:cuta.o
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp -o cuta.o
gcc cuta.o -o myfile
cuta.o: cut.cpp cut.h mstcpip.h
gcc -c cut.cpp -o cuta.o