第4章 更新Erlang.mk

原文連接  https://erlang.mk/guide/updating.htmlhtml

 

Chapter 4. Updating Erlang.mk

 

This chapter describes how to update the erlang.mk file in your repository.git

本章介紹如何更新存儲庫中的erlang.mk文件。github

 

4.1. Initial bootstrap

4.1. 初始引導

 

The first time you use Erlang.mk, it will bootstrap itself. It always uses the most recent version for this, so you don’t have to update after creating your project.shell

當你最初建立項目並引入Erlang.mk後執行 make,Erlang.mk會自動引導,這時老是使用最新的Erlang.mk版本,因此你沒必要更新Erlang.mk。bootstrap

 

4.2. Updating

4.2. 更新

 

Later on though, updating becomes a necessity. Erlang.mk developers and contributors relentlessly improve the project and add new features; it would be a waste not to benefit from this.app

可是之後的更新卻不可避免。Erlang.mk開發人員和貢獻者不懈地改進該項目並給它添加新功能,若是不從中受益,這些工做就成了一種浪費。less

 

That’s why updating Erlang.mk is so simple. All you need to do is to call make erlang-mk:ide

因此,更新Erlang.mk被設計的很是簡單。你所須要作的僅僅只是調用make erlang-mk:ui

$ make erlang-mk
git clone https://github.com/ninenines/erlang.mk .erlang.mk.build
Cloning into '.erlang.mk.build'...
remote: Counting objects: 4035, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 4035 (delta 8), reused 4 (delta 4), pack-reused 4019
Receiving objects: 100% (4035/4035), 1.10 MiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (2442/2442), done.
Checking connectivity... done.
if [ -f build.config ]; then cp build.config .erlang.mk.build; fi
cd .erlang.mk.build && make
make[1]: Entering directory '/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'
awk 'FNR==1 && NR!=1{print ""}1' core/core.mk index/*.mk core/index.mk core/deps.mk plugins/protobuffs.mk core/erlc.mk core/docs.mk core/test.mk plugins/asciidoc.mk plugins/bootstrap.mk plugins/c_src.mk plugins/ci.mk plugins/ct.mk plugins/dialyzer.mk plugins/edoc.mk plugins/elvis.mk plugins/erlydtl.mk plugins/escript.mk plugins/eunit.mk plugins/relx.mk plugins/shell.mk plugins/triq.mk plugins/xref.mk plugins/cover.mk \
    | sed 's/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = 1.2.0-642-gccd2b9f/' > erlang.mk
make[1]: Leaving directory '/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'
cp .erlang.mk.build/erlang.mk ./erlang.mk
rm -rf .erlang.mk.build

 

All that’s left to do is to commit the file!this

剩下要作的只是提交這些更新的文件!

 

Yep, it’s that easy.

是的,這很簡單。

 

4.3. Customizing the build

4.3. 定製構建

 

Erlang.mk allows you to customize which components are to be included in the erlang.mk file. The WITHOUT variable allows you to remove components from the default Erlang.mk build. The build.config file lets you define exactly what goes in (including your own code!), and in what order.

Erlang.mk容許你對erlang.mk文件中包含的組件進行定製。 編譯的時候,WITHOUT變量容許您從默認的Erlang.mk版本中刪除組件。 build.config文件能夠讓你準確的定義編譯所需引入的內容(包括你的代碼!),以及它們引入的順序。

 

The WITHOUT file contains the list of components to exclude from the build. For example, to exclude the package index and the EDoc plugin when bootstrapping your application:

WITHOUT項指定要從構建中排除的組件列表。例如,在引導應用程序構建時排除軟件包索引和EDoc插件:

$ make -f erlang.mk bootstrap WITHOUT="index plugins/edoc"

 

The generated Erlang.mk will never include those components when you update it, until you change your mind and use the WITHOUT variable again when you upgrade:

當你在更新生成的Erlang.mk時,全部組件都會被更新,直到你改變主意再次使用WITHOUT變量來升級Erlang.mk:

$ make erlang-mk WITHOUT=index

 

The build.config file is automatically used when you bootstrap Erlang.mk or when you update it with make erlang-mk.

build.config文件會在你引導Erlang.mk或者當你使用 「make erlang-mk」 更新Erlang.mk時被自動使用。

 

The build.config file contains the list of all files that will be built into the resulting erlang.mk file. You can start from the most recent version and customize to your needs.

build.config文件包含

 

You can also name the file differently or put it in a separate folder by modifying the value for ERLANG_MK_BUILD_CONFIG. You can also tell Erlang.mk to use a different temporary directory by changing the ERLANG_MK_BUILD_DIR variable.

相關文章
相關標籤/搜索