能够计算Fibonacci数列的Makefile
学习GNU make做的小练习,其中还是加法还是用了外部的expr程序,
make好像没有数值运算的能力,只能操作字符串。
用法: Make N=n 计算Fibonacci(n)的值
ifndef N
N = 10
endif
add = $(shell expr $(1) + $(2))
fib = $(if $(filter $(1),0),0,$(if $(filter $(1),1),1,$(call add,$(call fib,$(call add,$(1),-1)),$(call fib,$(call add, $(1),-2)))))
.PHONY: Fib
Fib:
@echo Fibonacci Sequence $(N): $(call fib,$(N))
没意义,makefile是用来作工程管理的。
还不如找个makefile模块好好学习一下。
你要掌握的是如何自动建立依赖,如何管理多层次的文件夹,如何把每个文件夹下的makefile简化而又不失功能。。。
实在精力很多的话,研究下kbuild,你会受益匪浅。 正在边看GNU make manual边研究KBuild
页:
[1]