#在每一个要编译的文件夹内,复制本makefile文件。然后再做更改。更改的位置有5处,将在下面标出。没有标记的地方不要改。<TAB>要全部替换成真正的制表符。
CC = g++
#(改1:文件名)
#写入目标文件名。个人建议目标文件名和当前目录名一样。
#使用本makefile请把输出文件放到..\文件夹下,否则本模板将失去通用性。
target = ..\Tjni.dll
#(改2:备用选项表)
#编译选项列表(根据需要,可以多写一点备用)
options_jni = -shared -Wl,-kill-at -s -o
options_exe = -s -o
options_obj = -c -o
#不要变
sources := $(wildcard *.cpp) $(wildcard *.c)
subObjects := $(wildcard *.o)
export CC
#编译段
.PHONY:build
build:
#(改3:生成表)
#按下面的格式,为当前目录下每一个需要编译的文件夹写一行<TAB>$(MAKE) -C ____ 命令(没有则不写)
<TAB>$(MAKE) -C JniToolClasses
#不要变
<TAB>$(MAKE) $(target)
#完全清理段
cleanAll:
#不要变
<TAB>$(MAKE) clean
#(改4:清除表)
#按下面的格式,为当前目录下每一个需要编译的文件夹写一行<TAB>$(MAKE) -C ____ cleanAll命令(没有则不写)
<TAB>$(MAKE) -C JniToolClasses cleanAll
#判定段
$(target):$(subObjects) $(sources)
#(改5:从备用选项中选择具体要用的选项)
#根据需要把<TAB>$(CC) $(options_???) $(target) $(subObjects) $(sources)的$(options_???)换成需要的变量(比如生成exe就要用options_exe,生成.o就要用options_obj)
<TAB>$(CC) $(options_jni) $(target) $(subObjects) $(sources)
#重编译段(不要变)
.PHONY:rebuild
rebuild:
<TAB>$(MAKE) cleanAll
<TAB>$(MAKE) build
#清理当前目录(不要变)
.PHONY:clean
clean:
<TAB>-del "$(target)"
万能的makefile文件
最新推荐文章于 2024-08-23 00:11:23 发布