2010-03-30 31 views

Odpowiedz

24

Zaczynam od użycia Erlang make, ponieważ uruchamia ona maszynę wirtualną i kompiluje wszystko, co należy ponownie skompilować.

Spróbuj wykonać następujące czynności w katalogu ze źródłami, to skompilować te .erl pliki, których brakuje odpowiedniego pliku belki lub tych, gdzie plik .erl został zmodyfikowany ponieważ plik został skompilowany Belka:

erl -make 

Dowiedz się o Emakefile dodatkowych sztuczek, takich jak kompilacji wszystkie pliki źródłowe z debug_info i umieszczenie .beam pliki ebin:

{'*', 
    [{outdir,"../ebin"}, 
    debug_info]}. 
5

wiele projektów za pomocą zwykłego starych make plik i erlc

erlc -h 
Usage: erlc [options] file.ext ... 
Options: 
-b type  type of output file (e.g. jam or beam) 
-d    turn on debugging of erlc itself 
-Dname   define name 
-Dname=value define name to have value 
-hybrid  compile using hybrid-heap emulator 
-help   shows this help text 
-I path  where to search for include files 
-o name  name output directory or file 
-pa path  add path to the front of Erlang's code path 
-pz path  add path to the end of Erlang's code path 
-smp   compile using SMP emulator 
-v    verbose compiler output 
-Werror  make all warnings into errors 
-W0   disable warnings 
-Wnumber  set warning level to number 
-Wall   enable all warnings 
-W    enable warnings (default; same as -W1) 
-E    generate listing of expanded code (Erlang compiler) 
-S    generate assembly listing (Erlang compiler) 
-P    generate listing of preprocessed code (Erlang compiler) 
+term   pass the Erlang term unchanged to the compiler 
11

To kompiluje wszystko w katalogu w którym aktualnie jesteś:

cover:compile_directory(). 
2

Można użyć „zbrojenie” An Erlang zbudować narzędzie z Basho, który jest zgodny z OTP: to konfiguruje wielu aplikacji w Erlang spójna struktura katalogów i pozwala zrobić coś więcej niż tylko kompilowanie plików w pliki .beams. [Prętów zbrojeniowych kompilacji]

Na przykład, można
* prowadzone badania (eUnit + funkcja/regresja) [Test zbrojenie]

- build releases [rebar rel] 
- start ci-builds 
- specify dependencies from multiple sources in its config file 
- enable SNMPwalks through data collected by SNMP agents of various types 
- (in conjunction with xref and grapherl) generate call graphs of entire applications 
- (in conjunction with fprof and fprof_graph) generate profiling diagrams 
- run dialyzer to do static code analysis 

Aby zobaczyć wszystkie polecenia pręty zbrojeniowe, zbrojenia '-c' będzie dać pełny obraz.

zbrojenie jest z Basho z wariantów pływających wokół :-)

można dostać prętów zbrojeniowych here

wiki mówi wszystko.