-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile.in
146 lines (110 loc) · 3.88 KB
/
Makefile.in
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
# Program names from configure script
CC= @CC@
# Compilation options from configure script
MAKE_DRIVER_C7=@DO_C7_DRIVER@
MAKE_DRIVER_C6=@DO_C6_DRIVER@
MAKE_SWIG=@DO_MAS_SWIG@
# Set up the sets of folders to recurse into for each target
ifeq ($(MAKE_DRIVER_C7),yes)
driverdir=driver_c7
else
ifeq ($(MAKE_DRIVER_C6),yes)
driverdir=driver_c6
endif
endif
all_dirs = $(driverdir) interfaces applications scripts python config2
clean_dirs = driver_c6 driver_c7 interfaces applications scripts swig python \
config2
install_dirs = $(driverdir) include interfaces applications scripts python \
config2
# Set up dependencies for each target
all_deps = Makefile defaults/config.h makefiles/Makefile.install \
makefiles/Makefile.paths scripts/mas scripts/mas_mknodes \
scripts/91-mas.rules scripts/mas_make_card_id \
applications/mas_var/Makefile config2/Makefile config2/mas.cin \
include/mce_library.h applications/Makefile
install_deps = all
ifeq ($(MAKE_SWIG),yes)
all_dirs += swig
install_dirs += swig
endif
# Target definitions. This should be a loop or something...
default: all
all: $(all_deps)
for d in $(all_dirs); do ( cd $$d && ${MAKE} ) || exit 1; done
clean: $(clean_deps)
for d in $(clean_dirs); do ( cd $$d && ${MAKE} clean ) || exit 1; done
install: $(install_deps)
for d in $(install_dirs); do ( cd $$d && ${MAKE} install ) || exit 1; done
.PHONY: default all clean install check-repo-version
# Force version recalcuation if git revision changes
repo_version.txt: repo_version.stamp
# Update REPO_VERSION if:
# * repo_version.txt doesn't exist
# OR
# * (
# - git revision is different than repo_version
# AND
# - we're in a GIT checkout
# )
#
# The second one is to ensure a GIT export keeps the repo version of the
# export.
check-repo-version:
if [ ! -f repo_version.txt -o \( \
"x`cat repo_version.txt`" != "x`git rev-parse HEAD 2>/dev/null`" -a \
"x`git rev-parse HEAD 2>/dev/null`" != "x" \) ]; then \
git rev-parse HEAD > repo_version.txt; \
fi
# Only update repo_version.txt if it changed
repo_version.stamp: check-repo-version
touch $@
config.status: branch_id.txt repo_version.txt
# configuration rules
.PRECIOUS: Makefile
Makefile: config.status Makefile.in
$(SHELL) ./config.status $@
applications/Makefile: config.status applications/Makefile.in
$(SHELL) ./config.status $@
applications/mas_var/Makefile: config.status applications/mas_var/Makefile.in
$(SHELL) ./config.status $@
config2/Makefile: config.status config2/Makefile.in
$(SHELL) ./config.status $@
config2/mas.cin: config.status config2/mas.cin.in
$(SHELL) ./config.status $@
driver_c6/Makefile: config.status driver_c6/Makefile.in
$(SHELL) ./config.status $@
driver_c7/Makefile: config.status driver_c7/Makefile.in
$(SHELL) ./config.status $@
include/mce_library.h: config.status include/mce_library.h.in
$(SHELL) ./config.status $@
makefiles/Makefile.install: config.status makefiles/Makefile.install.in
$(SHELL) ./config.status $@
makefiles/Makefile.paths: config.status makefiles/Makefile.paths.in
$(SHELL) ./config.status $@
scripts/mas: config.status scripts/mas.in
$(SHELL) ./config.status $@
scripts/mas_make_card_id: config.status scripts/mas_make_card_id.in
$(SHELL) ./config.status $@
scripts/91-mas.rules: config.status scripts/91-mas.rules.in
$(SHELL) ./config.status $@
scripts/mas_mknodes: config.status scripts/mas_mknodes.in
$(SHELL) ./config.status $@
.PRECIOUS: config.status
config.status: configure
$(SHELL) ./config.status --recheck
configure: configure.ac
autoconf -o $@ $<
# this misdirection prevents us from having to run autoheader every time
defaults/config.h: defaults/config-stamp
@if test ! -f $@; then \
rm -f $<; \
$(MAKE) $<; \
fi
defaults/config-stamp: defaults/config.h.in config.status
$(SHELL) ./config.status defaults/config.h
touch $@
defaults/config.h.in: configure.ac
autoheader $<
rm -f defaults/config-stamp
touch $@