-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
155 lines (108 loc) · 4.48 KB
/
Makefile
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# This -*- Makefile -*- gets processed with both GNU make and nmake.
# So keep it simple and compatible.
############################################################################
# Makefile
#
# Part of the STXXL. See http://stxxl.sourceforge.net
#
# Copyright (C) 2002-2007 Roman Dementiev <[email protected]>
# Copyright (C) 2006 Johannes Singler <[email protected]>
# Copyright (C) 2007-2010 Andreas Beckmann <[email protected]>
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
############################################################################
usage:
@echo "Choose one of the goals:"
@echo " config_gnu"
@echo " library_g++ library_g++_pmode library_g++_mcstl library_icpc library_icpc_mcstl library_msvc"
@echo " tests_g++ tests_g++_pmode tests_g++_mcstl tests_icpc tests_icpc_mcstl tests_msvc"
@echo " clean_g++ clean_g++_pmode clean_g++_mcstl clean_icpc clean_icpc_mcstl clean_msvc"
@echo " doxy clean_doxy tutorial clean_tutorial examples clean_examples"
settings_gnu:
cmp -s make.settings.gnu make.settings || \
( $(RM) make.settings && cp make.settings.gnu make.settings )
settings_msvc: make.settings
make.settings: make.settings.msvc
copy make.settings.msvc make.settings
config_gnu: settings_gnu
$(MAKE) -f Makefile.gnu config STXXL_AUTOCONFIG=true
_library_g++: settings_gnu
$(MAKE) -f Makefile.gnu library
library_g++: _library_g++
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=no USE_MCSTL=no
library_g++_pmode: _library_g++
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=yes USE_MCSTL=no
library_g++_mcstl: _library_g++
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=no USE_MCSTL=yes
_library_icpc: settings_gnu
$(MAKE) -f Makefile.gnu library USE_ICPC=yes
library_icpc: _library_icpc
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=no USE_MCSTL=no USE_ICPC=yes
library_icpc_pmode: _library_icpc
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=yes USE_MCSTL=no USE_ICPC=yes
library_icpc_mcstl: _library_icpc
$(MAKE) -f Makefile.gnu library_utils USE_PMODE=no USE_MCSTL=yes USE_ICPC=yes
library_msvc: settings_msvc
nmake /NOLOGO /F Makefile.msvc library
tests_g++: library_g++
$(MAKE) -f Makefile.gnu tests USE_PMODE=no USE_MCSTL=no
tests_g++_pmode: library_g++_pmode
$(MAKE) -f Makefile.gnu tests USE_PMODE=yes USE_MCSTL=no
tests_g++_mcstl: library_g++_mcstl
$(MAKE) -f Makefile.gnu tests USE_PMODE=no USE_MCSTL=yes
tests_icpc: library_icpc
$(MAKE) -f Makefile.gnu tests USE_PMODE=no USE_MCSTL=no USE_ICPC=yes
tests_icpc_pmode: library_icpc_pmode
$(MAKE) -f Makefile.gnu tests USE_PMODE=yes USE_MCSTL=no USE_ICPC=yes
tests_icpc_mcstl: library_icpc_mcstl
$(MAKE) -f Makefile.gnu tests USE_PMODE=no USE_MCSTL=yes USE_ICPC=yes
tests_msvc: settings_msvc
nmake /NOLOGO /F Makefile.msvc tests
clean_g++: settings_gnu
$(MAKE) -f Makefile.gnu clean USE_PMODE=no USE_MCSTL=no
clean_g++_pmode: settings_gnu
-$(MAKE) -f Makefile.gnu clean USE_PMODE=yes USE_MCSTL=no
clean_g++_mcstl: settings_gnu
-$(MAKE) -f Makefile.gnu clean USE_PMODE=no USE_MCSTL=yes
clean_icpc: settings_gnu
$(MAKE) -f Makefile.gnu clean USE_PMODE=no USE_MCSTL=no USE_ICPC=yes
clean_icpc_pmode: settings_gnu
-$(MAKE) -f Makefile.gnu clean USE_PMODE=yes USE_MCSTL=no USE_ICPC=yes
clean_icpc_mcstl: settings_gnu
-$(MAKE) -f Makefile.gnu clean USE_PMODE=no USE_MCSTL=yes USE_ICPC=yes
clean_msvc: settings_msvc
nmake /NOLOGO /F Makefile.msvc clean
clean: clean_g++ clean_g++_mcstl clean_icpc clean_icpc_mcstl
$(MAKE) -C test/compile-stxxl-headers clean
distclean: clean_doxy clean_tutorial clean_examples clean
$(RM) make.settings
$(RM) stxxl.log stxxl.errlog
$(RM) algo/stxxl.log algo/stxxl.errlog
$(RM) common/stxxl.log common/stxxl.errlog
$(RM) containers/stxxl.log containers/stxxl.errlog
$(RM) io/stxxl.log io/stxxl.errlog
$(RM) mng/stxxl.log mng/stxxl.errlog
$(RM) stream/stxxl.log stream/stxxl.errlog
$(RM) utils/stxxl.log utils/stxxl.errlog
doxy: Doxyfile
doxygen
clean_doxy:
$(RM) -r doc/doxy
$(RM) Doxyfile.bak
tutorial:
$(MAKE) -C doc/tutorial
clean_tutorial:
$(MAKE) -C doc/tutorial distclean
examples:
$(MAKE) -C doc/tutorial/examples
clean_examples:
$(MAKE) -C doc/tutorial/examples clean
count:
sloccount --addlang makefile .
# optional parameters:
# DATE="" if you *don't* want a -YYYYMMDD in the version
# PHASE=snapshot|alpha#|beta#|rc#|release (defaults to snapshot)
release:
$(MAKE) -f Makefile.gnu release