-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.am
169 lines (129 loc) · 4.49 KB
/
Makefile.am
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
## SXEmacs toplevel Makefile.am
## Copyright (C) 2007 Steve Youngs
## This file is part of SXEmacs.
## SXEmacs is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
## SXEmacs is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
## Process this file with automake to produce Makefile.in
# Help the Developers and yourself. Just use the C locale and settings
# for the compilation. They can still be overriden by make LANG=<whatever>
# but that is general a not very good idea
LANG=C
LC_ALL=C
ACLOCAL_AMFLAGS = -I m4
builddir = @builddir@
srcdir = @srcdir@
top_builddir = .
top_build_prefix = $(top_builddir)/
top_srcdir = @top_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
archlibdir = ${libdir}/${instvardir}/${configuration}
etcdir = ${datadir}/${instvardir}/etc
ETAGS = $(top_builddir)/lib-src/etags
TAGS_DEPENDENCIES = $(ETAGS)
EXTRA_DIST = autogen.sh sxemacs_version.m4
EXTRA_DIST += configfsf.guess configfsf.sub
REPORT_VARS=PATH LD_LIBRARY_PATH LIBRARY_PATH SHLIB_PATH DYLD_LIBRARY_PATH CC CPATH CPPFLAGS CFLAGS LDFLAGS INCLUDE_PATH C_INCLUDE_PATH SHELL GCC_EXEC_PREFIX COMPILER_PATH DEPENDENCIES_OUTPUT GNUTARGET LDEMULATION
## we do not use automake's SUBDIRS thingie
sxe_subdirs =
if DESCEND_LIBLTDL
sxe_subdirs += libltdl
endif
sxe_subdirs += lib-src
if DESCEND_MODULES
sxe_subdirs += modules
endif
sxe_subdirs += src lisp src lisp info etc tests
SUBDIRS =
SUBDIRS += $(sxe_subdirs)
m4datadir = $(datadir)/aclocal
dist_m4data_DATA = m4/sxemacs.m4 m4/sxe-pkgconfig.m4
dist_etc_DATA = PROBLEMS
pcdir = ${libdir}/pkgconfig
pc_DATA = sxemacs.pc
CLEANFILES = stage1 stage2 ,,build.done
## custom rules
MV = mv
TOUCH = touch
RECURSE = \
@for subdir in $(sxe_subdirs); do \
test "$$subdir" = . || \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@); \
done ; \
@$(TOUCH) $@
CROSSMAKE = (cd `dirname $@` && $(MAKE) $(AM_MAKEFLAGS) `basename $@`)
if DESCEND_MODULES
module_DATA = modules/auto-autoloads.el modules/auto-autoloads.elc
modules/auto-autoloads.el \
modules/auto-autoloads.elc: $(EMACS)
$(CROSSMAKE)
endif
SXE_SHOW_DUMP = $(DESTDIR)$(bindir)/sxemacs -sd)
install-exec-hook:
mv -f $(DESTDIR)$(bindir)/sxemacs $(DESTDIR)$(bindir)/sxemacs-$(old_version)
(cd $(DESTDIR)$(bindir) && $(LN_S) sxemacs-$(old_version) sxemacs)
uninstall-hook:
cd $(DESTDIR)$(bindir) && \
$(RM) sxemacs-$(old_version)
check-recursive: all-recursive
distclean-local:
$(RM) $(builddir)/Installation
$(RM) $(builddir)/cpuid
$(ETAGS):
cd $(top_builddir)/lib-src
$(MAKE) $(AM_MAKEFLAGS) etags
.PHONY: stage1 stage2 build-report time-build-report time-check beta
## Convenience target for SXEmacs beta testers
beta:
$(MAKE) $(AM_MAKEFLAGS) clean
$(MAKE) $(AM_MAKEFLAGS) all
@ touch ,,build.done
## Convenience target for SXEmacs build reporters
env-report:
@(echo "Environment Variables" ;\
echo "---------------------" ) | tee ,,vars.out
@(echo "${REPORT_VARS}" | \
${AWK} '{ for(f=1;f<=NF;f++) if( ENVIRON[$$f] ) \
{ print $$f "=" ENVIRON[$$f] } }') \
| tee -a ,,vars.out
@(echo "Make Variables" ; \
echo "--------------" ; \
echo MAKE="${MAKE}" ; \
echo MAKEFILES="${MAKEFILES}" ; \
echo MAKEFLAGS="${MAKEFLAGS}" ; \
echo AM_MAKEFLAGS="${AM_MAKEFLAGS}" ; \
echo RECURSIVE_MAKE_ARGS="${RECURSIVE_MAKE_ARGS}" ) | tee -a ,,vars.out
time-beta:
(time $(MAKE) $(AM_MAKEFLAGS) beta )2>&1 | tee ,,beta.out
time-all:
time $(MAKE) $(AM_MAKEFLAGS) all
time-check:
(time $(MAKE) $(AM_MAKEFLAGS) check ) 2>&1 | tee ,,make-check.out
build-report: env-report
$(MAKE) $(AM_MAKEFLAGS) beta 2>&1 | tee ,,beta.out
@ [ -f ,,build.done ] || exit 1
$(MAKE) -w $(MAKEFLAGS) check 2>&1 | tee ,,make-check.out
time-build-report: env-report
$(MAKE) $(AM_MAKEFLAGS) time-beta
@ [ -f ,,build.done ] || exit 1
$(MAKE) $(AM_MAKEFLAGS) time-check
stage1:
@echo
@echo "$@ in progress ..."
@$(RECURSE)
@echo "$@ finished"
stage2: stage1
@echo
@echo "$@ in progress ..."
@$(RECURSE)
@echo "$@ finished"
### dont use staged build
##all: stage1 stage2