Erlang - Makefiles

BAR*_*BAR 0 erlang makefile

希望大家都做得好

我在Windows上的erlang中有make文件的问题.我似乎无法使用以下代码.

.SUFFIXES: .erl .beam

.erl.beam:
    erlc -W $<

    ERL = erl -boot start_clean

MODS = main send get loops

all: compile
    ${ERL} -pa 'G:\Documents and Settings\Administrador' -s main start

compile: ${MODS:%=%.beam}

clean: 
    rm -rf *.beam erl_crash.dump
Run Code Online (Sandbox Code Playgroud)

我试图编译的文件是main.erl send.erl get.erl loops.erl

我将make文件保存为.exe

和类型

make [main]
Run Code Online (Sandbox Code Playgroud)

进入windows shell

它给我的全部是一个奇怪的弹出错误.是make [main]命令是否正确?我的实际代码是对的吗?

谢谢你的帮助,-B

War*_*ung 6

这里有几个错误:

  1. 缩进的"ERL ="行将无法正常工作.领先的标签是特别的.与其他语言一样,您没有完全的格式化自由.

  2. make文件应该保存为Makefile,没有扩展名.案件可能或可能不重要您的特定"制造"计划.Makefile然而,所有版本的make都接受.

  3. 命令行上的括号将永远不会工作.我假设你从某个地方剪切并粘贴它们,但它们可能使用"[main]"作为你应该替换的示例文本,包括括号.

  4. "make main"也会因为你在这个Makefile中没有"主"目标而失败."make all","make clean"和"make compile"将会起作用,就像"make loops.beam"这样的几个隐含目标一样.

    如果你要继续使用它,你真的应该得到一本关于make的书.我喜欢O'Reilly的管理项目与GNU Make,3/e由梅克伦堡,可以免费在线或死树形式.GNU make手册也可以在线获取,也可以作为死树.

  5. 但是,你可能不应该在这里使用传统的"make".对于纯粹的Erlang项目,Emakefiles更短,更清晰,整体更好.在Erlang项目中构建其他东西并不是那么好,但是你总是可以做到这两点:Makefile使用"erl -make"来启动Erlang构建,并自己做其他事情.

  • 你告诉过你,你问过你的档案有什么问题.是的,Makefile非常复杂,你想要有一本关于这个主题的书.我建议的那个很短,就像技术书籍一样.另请注意,我建议附带一个附带条件,如果您要继续使用Makefiles,则只能获得该书.如果这只是我们在这里看到的一次性交易,那么建立一个Emakefile.但这将是一个不同的问题,与这个问题是否得到正确回答无关. (4认同)