neodreamerus 发表于 2014-05-05 15:25

能够计算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))

Tinnal 发表于 2014-05-05 20:11

没意义,makefile是用来作工程管理的。

还不如找个makefile模块好好学习一下。
你要掌握的是如何自动建立依赖,如何管理多层次的文件夹,如何把每个文件夹下的makefile简化而又不失功能。。。

实在精力很多的话,研究下kbuild,你会受益匪浅。

neodreamerus 发表于 2014-05-05 20:23

正在边看GNU make manual边研究KBuild
页: [1]
查看完整版本: 能够计算Fibonacci数列的Makefile