forked from gwichert/wxd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GNUmakefile
137 lines (104 loc) · 2.47 KB
/
GNUmakefile
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
SHELL=/bin/sh
ifndef MAKE
BSD=$(shell uname | grep "BSD")
ifneq ("$(BSD)" "")
#this is a BSD OS
MAKE="gmake"
else
MAKE?="make"
endif
endif
OS=$(shell uname)
ARCH=$(shell (arch 2>/dev/null || uname -m || echo i386) | sed -e s/i.86/x86/ )
# D compiler to use (DMD or GDC)
ifeq ("$(OS) $(ARCH)","Linux x86")
COMPILER=DMD
else
COMPILER=GDC
endif
export COMPILER
# D library to use (Phobos/Tango)
LIBRARY=Phobos
export LIBRARY
BUD=bud
REBUILD=rebuild
# wx release to use (e.g. 26)
WX_RELEASE_NODOT=$(shell cat wxc/WX_RELEASE 2>/dev/null)
export WX_RELEASE_NODOT
# wx version to use (e.g. 2.6.4)
WX_VERSION=$(shell cat wxc/WX_VERSION 2>/dev/null)
export WX_VERSION
# wx platform to use (e.g. WXGTK)
PLATFORM=$(shell cat wxc/PLATFORM 2>/dev/null)
export PLATFORM
# wx char encoding (ANSI/UNICODE)
ENCODING=$(shell cat wxc/ENCODING 2>/dev/null)
export ENCODING
# set this to 1 if you have "stc"
STC=0
export STC
# set this to 1 if you have "ogl"
OGL=0
export OGL
all: wxc/WX_RELEASE wxc/WX_VERSION wxc/PLATFORM wxc/ENCODING
$(MAKE) -C wxc
$(MAKE) -C wx
install:
$(MAKE) install -C wxc
$(MAKE) install -C wx
samp:
$(MAKE) -C Samples
test: samp
#TODO: unittesting
wxc/WX_RELEASE:
$(MAKE) -C wxc WX_RELEASE
wxc/WX_VERSION:
$(MAKE) -C wxc WX_VERSION
wxc/PLATFORM:
$(MAKE) -C wxc PLATFORM
wxc/ENCODING:
$(MAKE) -C wxc ENCODING
docs: Doxyfile
doxygen
ddoc: wxc/PLATFORM wxc/ENCODING
$(MAKE) -C wx ddoc
wxd:
git clone git://wxd.git.sourceforge.net/gitroot/wxd/wxd wxd --reference .
test -d wxd && find wxd -name .git -o -name .gitignore | xargs rm -r
@test -d wxd/debian && rm -r wxd/debian || true
-dos2unix -k wxd/wxc/*.cpp wxd/wxc/*.h wxd/*.txt
-dos2unix -k wxd/wx/*.d wxd/wx/*/*.d wxd/Samples/*/*.d wxd/Samples/*/*.txt
dist: wxd
tar cvzf wxd.tgz wxd
zip: wxd
@rm -f wxd.zip
zip -r -y wxd.zip wxd
zip -r -l wxd.zip wxd -i '*.cpp' -i '*.h' -i '*.txt '-i '*.d'
rpm: dist
rpmbuild -ba redhat/wxd.spec
deb:
dpkg-buildpackage -uc -us -rfakeroot
helpers:
$(MAKE) -C wxc helpers
build: wxc/WX_RELEASE wxc/WX_VERSION wxc/PLATFORM wxc/ENCODING
$(MAKE) -C wxc build
bud: build build.brf
$(MAKE) -C wxc
$(BUD) -v @build.brf -op -allobj
mv wx/wx.a libwxd.a
rebuild: build build.brf
$(MAKE) -C wxc
$(REBUILD) -v -rfbuild.brf -oqwx -oflibwxd.a
clean:
$(MAKE) clean -C wx
$(MAKE) clean -C wxc
$(MAKE) clean -C Samples
-cp -p wx/libs.txt wx/libs.d
-rm wxc/WX_RELEASE
-rm wxc/WX_VERSION
-rm wxc/PLATFORM
-rm wxc/ENCODING
distclean: clean
-rm -r html
-rm -r wxd
.PHONY: build docs