Obecnie używamBudowanie wielu plików wiązki Erlang?
c(module_name)
budować moje pliki Erlang jeden po drugim. Jak można obsłużyć proces kompilacji Erlanga, gdy ma wiele plików?
Obecnie używamBudowanie wielu plików wiązki Erlang?
c(module_name)
budować moje pliki Erlang jeden po drugim. Jak można obsłużyć proces kompilacji Erlanga, gdy ma wiele plików?
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]}.
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
Erlang Make and Emakefiles to prawdopodobnie dobry sposób na rozpoczęcie.
Jako przykład można zajrzeć do systemu kompilacji Erlang Web.
W konkretnym przypadku warto przyjrzeć się ich Emakefile i ich compile.erl.
To kompiluje wszystko w katalogu w którym aktualnie jesteś:
cover:compile_directory().
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.