#Makefile 文件实例学习
#参考资料 Unix环境高级编程、和我一起写makefile
#作者 一路向北
#时间 2013-8-9 15:00
#First Programming learning
#版本 RetHat 4.1.2-48 (B.11.31)???
#内核版本 2.6.18-194.e15
#本人经验有限,如有不足之处请留言指正探讨,或者电邮指正(),谢谢!希望一起进步!
/*注解一:
1、很明显,all是下面所有的意思,即要生成的执行程序,如果你在命令行里输入make all,就会生成你下面
所写的所有的执行文件。具体的请参照我博客中相关的Makefile中的Make运行
2、.a是静态链接库文件
.so 是动态链接库文件。
简单介绍静态库和动态库的区别:
静态库在是使用时,直接把代码复制到目标文件中,而动态库(即共享库)
是把代码地址复制到目标文件中。
静态库比较简单,所有代码集中于一个文件组,文件自然就会比较大,不利于修改
动态库使用时比较麻烦,需要指定目标文件和.so文件,组文件也比较小,小型的修改不需要做出修改
gcc -c fun.c只编译生成二进制文件不链接
*/
all:libmqapi.a libusrfun.so xwgInit xwgShutdowm \
libxwapi.a libmgxx.a xwgCtrl \
xwTask
//当然下面还可以很多要执行的程序啦。\表示换行后还是可以接在一起如果没有将会报错
usrfun: libusrfun.so
clean:
rm -f xwgUserxtfun.o xwgFtpFile.o xwgUsr2ndfun.xc \
xwgFront
SWITCH_DIR=$(HOME)/xwg/projects/pub/xwg
INCLUDE=-I$(SWITCH_DIR)/inc -I$(INFORMIXDIR)/incl \
-I$(INFORMIXDIR)/incl/esql \
-I$(HOME)/group/include
DEBUGFLAGS=-DDEBUG
#BITFLAG=+DD64
CFLAGS=-C -Aa -Ae +Z -Wp,-H40000
LIB=$(SWITCH_DIR)/lib
EXE=$(SWITCH_DIR)/bin
install:
make
cp -fr$(环境变量)
xwYlxb:xwYlxb.o
$(ACC) $(BITFLAG) -O $(EXE)/xwgYlxb
xwYlxb.o\
$(DB2LIBS) $(APPLIBS) \