summaryrefslogtreecommitdiff
path: root/lib/Makefile
blob: 608be7d5ce8d8a78b9d9b498e3440674afe8e4b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Uncomment these if you are on OS X and want to build universal libraries.
# This is only important if you intend to produce a Ledger binary for
# installation.

STOW_ROOT = /usr/local/stow
PRODUCTS  = $(HOME)/Products

EXTRA_DEFINES = -D_GLIBCXX_FULLY_DYNAMIC_STRING=1

BOOST_SOURCE  = boost
BOOST_VERSION = 1_40_0
BOOST_TOOLSET = darwin
BOOST_DEFINES = define=_GLIBCXX_FULLY_DYNAMIC_STRING=1
BOOST_FLAGS   = --toolset=$(BOOST_TOOLSET) \
		--build-type=complete --layout=versioned \
		$(BOOST_DEFINES)
ICU_FLAGS     = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu 
ICU_DBG_FLAGS = -sHAVE_ICU=1 -sICU_PATH=$(STOW_ROOT)/icu-debug

icu-release:
	-(cd icu/source; make distclean)
	(cd icu/source; sh autogen.sh; \
	 ./configure CPPFLAGS="$(EXTRA_DEFINES)" \
		     CFLAGS="$(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
		     LDFLAGS="$(ARCH_LDFLAGS)" \
		     CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
		     --enable-static \
		     --prefix=$(STOW_ROOT)/icu && \
	 make install)

icu-debug:
	-(cd icu/source; make distclean)
	(cd icu/source; sh autogen.sh; \
	 ./configure CPPFLAGS="-D_GLIBCXX_DEBUG=1 $(EXTRA_DEFINES)" \
		     CFLAGS="-g $(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
		     LDFLAGS="-g $(ARCH_LDFLAGS)" \
		     CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
		     --enable-static --enable-debug \
		     --prefix=$(STOW_ROOT)/icu-debug && \
	 make install)

icu-build: icu-release icu-debug

boost-icu-release:
	(cd $(BOOST_SOURCE) && \
	bjam release --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \
	    --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \
	    $(BOOST_FLAGS) $(ICU_FLAGS) install)

boost-icu-debug:
	(cd $(BOOST_SOURCE) && \
	bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION)-icu \
	    --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION)-icu \
	    $(BOOST_FLAGS) define=_GLIBCXX_DEBUG=1 \
	    $(ICU_DBG_FLAGS) install)

boost-icu-build: boost-icu-release boost-icu-debug

boost-release:
	(cd $(BOOST_SOURCE) && \
	bjam release --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION) \
	    --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION) \
	    $(BOOST_FLAGS) install)

boost-debug:
	(cd $(BOOST_SOURCE) && \
	bjam debug --prefix=$(STOW_ROOT)/boost_$(BOOST_VERSION) \
	    --build-dir=$(PRODUCTS)/boost_$(BOOST_VERSION) \
	    $(BOOST_FLAGS) define=_GLIBCXX_DEBUG=1 install)

boost-build: boost-release boost-debug

cppunit-release:
	-(cd cppunit; make distclean)
	(cd cppunit; sh autogen.sh; \
	 ./configure CPPFLAGS="$(EXTRA_DEFINES)" \
		     CFLAGS="$(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
		     LDFLAGS="$(ARCH_LDFLAGS)" \
		     CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
		     --prefix=$(STOW_ROOT)/cppunit \
		     --disable-doxygen --disable-dot && \
	 make install)

cppunit-debug:
	-(cd cppunit; make distclean)
	(cd cppunit; sh autogen.sh; \
	 ./configure CPPFLAGS="-D_GLIBCXX_DEBUG=1 $(EXTRA_DEFINES)" \
		     CFLAGS="-g $(EXTRA_DEFINES) $(ARCH_CFLAGS)" \
		     LDFLAGS="-g $(ARCH_LDFLAGS)" \
		     CC="$(CC)" CXX="$(CXX)" LD="$(LD)" \
		     --prefix=$(STOW_ROOT)/cppunit-debug \
		     --disable-doxygen --disable-dot && \
	 make install)

cppunit-build: cppunit-release cppunit-debug

all: boost-build boost-icu-build cppunit-build