makefile编写问题

makefile编写问题

如果自己编写的C程序有file.c也有file.cpp还有file.h怎么写makefile文件。
file.cpp中的函数在file.h中声明的,在file.c中定义的。
应该怎么写makefile呢?请大家帮助,谢谢!
makefile的基本格式是
[code:1]
targetname: depend1 depend2
    buildrule(也就是command)
[/code:1]

注意,buildrule前必须是一个TAB(历史遗留问题)
你可以这样写,假设要生成的程序名为app
[code:1]
#联接
app:file_c.o file_cpp.o
   gcc -o app file_c.o file_cpp.o
#生成第一个obj文件
file_c.o: file_c.c file_c.h
   gcc -o file_c.o file_c.c
#生成第二个cpp的obj文件
file_cpp.o: file_cpp.cpp file_cpp.h file_c.h
   g++ -o file_cpp.o file_cpp.cpp

$make 就可以了
[/code:1]
其实对于常规的h,c,cpp,o这样的程序make程序有许多内建规则的,可以查阅相关资料。