最近在写一个要求兼容Linux 和 windows 的socket program,无奈对Linux 太不熟悉,不懂编译,搜得一大神的文章。在此分享。详细请见链接: http://www.chinaunix.net/old_jh/23/408225.html
下面是makefile的示例代码:
 edit : main.o kbd.o command.o display.o \ 
            insert.o search.o files.o utils.o 
             cc -o edit main.o kbd.o command.o display.o \ 
                        insert.o search.o files.o utils.o 
 
     main.o : main.c defs.h 
             cc -c main.c 
     kbd.o : kbd.c defs.h command.h 
             cc -c kbd.c 
     command.o : command.c defs.h command.h 
             cc -c command.c 
     display.o : display.c defs.h buffer.h 
             cc -c display.c 
     insert.o : insert.c defs.h buffer.h 
             cc -c insert.c 
     search.o : search.c defs.h buffer.h 
             cc -c search.c 
     files.o : files.c defs.h buffer.h command.h 
             cc -c files.c 
     utils.o : utils.c defs.h 
             cc -c utils.c 
     clean : 
             rm edit main.o kbd.o command.o display.o \ 
                insert.o search.o files.o utils.o  
我更建议使用让make自动推导的方法,编译c或者c++都不需要自己操心去写编译命令
 objects = main.o kbd.o command.o display.o \ 
               insert.o search.o files.o utils.o 
 
     edit : $(objects) 
             cc -o edit $(objects) 
 
     main.o : defs.h 
     kbd.o : defs.h command.h 
     command.o : defs.h command.h 
     display.o : defs.h buffer.h 
     insert.o : defs.h buffer.h 
     search.o : defs.h buffer.h 
     files.o : defs.h buffer.h command.h 
     utils.o : defs.h 
 
     .PHONY : clean 
     clean : 
             rm edit $(objects)  
原文:http://my.oschina.net/Bruce370/blog/379984