build, compile

ソースコードインストール時は、build、コンパイルを経てインストールとなる。
こちらはお馴染みですね。

$ ./configure # 設定
$ make # build
$ sudo make install # インストール実行

C言語、C++をコンパイルするには、GNU Compiler Collection, GCCのインストールが必要
コンパイル → オブジェクトファイル → リンク → コマンド
↑コンパイルからリンクまでの一連の流れがビルド

ubuntuにgcc, makeが入っているか確認します。
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ gcc –version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ make –version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

hello.c を作る

#include <stdio.h>
	main(){
		printf("hello world.\n");
	}

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ls
hello.c
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ gcc hello.c
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ls
a.out hello.c
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ./a.out
hello world.

makefile

hello : hello.c
	gcc -o $@ $<

clean :
	rm -f hello

vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ls
a.out hello.c Makefile
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ make
gcc -o hello hello.c
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ls
a.out hello hello.c Makefile
vagrant@vagrant-ubuntu-trusty-64:~/bitcoin$ ./hello
hello world.

makeはカレントディレクトリにmakefileがあるとそれに従って動く

bitcoin coreのmaikefile
https://github.com/bitcoin/bitcoin/blob/master/Makefile.am

WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
  $(top_srcdir)/share/pixmaps/nsis-header.bmp \
  $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
  $(top_srcdir)/doc/README_windows.txt

OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
  $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_SVG) \
  $(OSX_DSSTORE_GEN) \
  $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
  $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh

OSXとwindowsだとビルド方法やパッケージが異なるなるのかな。