最近一直在看erlang程序设计,但是一直卡在第十五章的makefile那里(make和gcc菜鸟一枚)。弄了几天终于把问题解决了。
先感谢一下这篇博客“对在erlang中的makefile一些解释” 。下面是解释及问题解决:
由于作者在《Erlang程序设计》书中提供的makefile是在Mac OS X系统中测试的,并没有linux版本,所以就想着自己捣鼓一个makefile出来。但由于之前都没有使用makefile编译过程序,所以就花了一些时间去学习make。先上我修改后的makefile文件:
.SUFFIXES: .erl .beam
.erl.beam:
erlc -W $<
MODS = example1
all: ${MODS:%=%.beam} example1 example1_drv.so
example1: example1.c erl_comm.c example1_driver.c
gcc -o example1 example1.c erl_comm.c example1_driver.c
example1_drv.so: example1.c
gcc -I /opt/erlang/lib/erlang/usr/include\-o example1_drv.so example1.c example1_driver.c erl_comm.c
clean:
rm example1 example1_drv.so *.beam
其中