forked from WTCN-computational-anatomy-group/mb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
108 lines (81 loc) · 3.11 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
#!/usr/bin/env make -f
# Makefile to compile SPM MB GMM lib C-MEX files (hacked together by MB)
#
# Copyright (C) 1991-2021 Wellcome Centre for Human Neuroimaging
#
# $Id: Makefile 8058 2021-02-10 10:38:31Z guillaume $
#
###############################################################################
#
# This Makefile has been tested under Linux, Windows and MacOS.
#
# If you have to tweak this Makefile or Makefile.var to compile the SPM
# mex-files for your platform, please send the details to <[email protected]>
# so they can be included here.
#
# To compile and install SPM, type the following in a Unix console:
# > make distclean && make && make install
#
# You can specify a particular platform with the following syntax:
# > make PLATFORM=Your_Platform
# The standard targets are 'all', 'clean', 'distclean', 'doc' and 'install'.
#
# For a list of compatible compilers, see
# https://www.mathworks.com/support/compilers.html
#
###############################################################################
include Makefile.var
###############################################################################
# Objects to go in the archive and mexfiles
###############################################################################
SPMMEX =\
spm_gmmlib.$(MEXEXT)
###############################################################################
# Public make targets
###############################################################################
all: verb.$(MEXEXT) main-all verb.all.end
clean: verb.distclean main-distclean verb.distclean.end
###############################################################################
# Private make targets
###############################################################################
main-all: $(SPMMEX)
main-distclean:
$(DEL) $(SPMMEX)
###############################################################################
# Compile the mex files themselves
###############################################################################
spm_gmmlib.$(MEXEXT): spm_gmmlib.c gmmlib.c gmmlib.h
$(MEX) spm_gmmlib.c gmmlib.c $(MEXEND)
###############################################################################
# Display Messages
###############################################################################
verb.clean:
$(call verb, "Deleting object (.o) files")
verb.distclean:
$(call verb, "Deleting MEX (.$(MEXEXT)) and archive (.a) files")
verb.install:
$(call verb, "Installing MEX files")
verb.tarball:
$(call verb, "Creating archive spm_mex.tar.gz")
verb.mexw32:
$(call verb, "Windows compilation (32 bit)")
verb.mexw64:
$(call verb, "Windows compilation (64 bit)")
verb.mexglx:
$(call verb, "Linux compilation (x86-32)")
verb.mexa64:
$(call verb, "Linux compilation (x86-64)")
verb.mexmaci:
$(call verb, "MacOS compilation (Intel 32 bit)")
verb.mexmaci64:
$(call verb, "MacOS compilation (Intel 64 bit)")
verb.mex:
$(call verb, "${PLATFORM} compilation (`${MEXBIN} -v | head -n 1`)")
verb.all.end:
$(call verb, "Compilation: done")
verb.distclean.end:
$(call verb, "Distclean: done")
verb.install.end:
$(call verb, "Installation: done")
verb.external:
$(call verb, "In external")