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
|
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
169
170
171
172
173
174
175
176
177
178
|
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
-
+
-
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
|
# This is the developer's -*-Makefile-*-, not the user's makefile.
# Do not use it unless you know exactly what you do!
SHELL = /bin/sh
MAKE = make
.PHONY : all configures update-gnulib gnulib-imported build-aux-update \
check-configures config-h-in woe32-h woe32-c
all : autoconf/aclocal.m4 configures avcall/avcall.h.msvc avcall/avcall.h.mingw32 avcall/avcall-i386-msvc.c avcall/avcall-i386-mingw32.c vacall/config.h.msvc vacall/config.h.mingw32 vacall/vacall.h.msvc vacall/vacall.h.mingw32 vacall/vacall-i386-msvc.c vacall/vacall-i386-mingw32.c trampoline/config.h.msvc trampoline/config.h.mingw32 callback/vacall_r/config.h.msvc callback/vacall_r/config.h.mingw32 callback/vacall_r/vacall_r.h.msvc callback/vacall_r/vacall_r.h.mingw32 callback/vacall_r/vacall-i386-msvc.c callback/trampoline_r/config.h.msvc callback/trampoline_r/config.h.mingw32
all : build-aux-update gnulib-imported aclocal.m4 check-configures \
config-h-in woe32-h woe32-c
GNULIB_CVS_ROOT = :pserver:anonymous@pserver.git.sv.gnu.org:/gnulib.git
GNULIB_CVS_REPOSITORY = HEAD
GNULIB_GIT = git://git.savannah.gnu.org/gnulib.git
GNULIB_CHECKOUT := gnulib
update-gnulib :
if test -d $(GNULIB_CHECKOUT); then \
cd $(GNULIB_CHECKOUT) && \
if test -d .git; then git pull; else cvs update -d -P; fi \
else \
if git --version >/dev/null 2>&1; then \
git clone "$(GNULIB_GIT)" $(GNULIB_CHECKOUT) ; \
else cvs -d "$(GNULIB_CVS_ROOT)" checkout -d $(GNULIB_CHECKOUT) $(GNULIB_CVS_REPOSITORY); fi \
fi
CONFIGURES = configure avcall/configure vacall/configure trampoline/configure callback/configure callback/vacall_r/configure callback/trampoline_r/configure
CONFIGURES_IN = configure.in avcall/configure.in vacall/configure.in trampoline/configure.in callback/configure.in callback/vacall_r/configure.in callback/trampoline_r/configure.in
gnulib-imported : update-gnulib force
$(RM) configure.ac; ln -sv configure.in configure.ac
$(GNULIB_CHECKOUT)/gnulib-tool --import --source-base=gllib \
--m4-base=glm4 --aux-dir=build-aux --no-changelog \
longlong nocrash host-cpu-c-abi
$(RM) configure.ac
rm -fvr build-aux/.cvsignore glm4/.cvsignore gllib/
cd glm4; \
for f in *.m4; do \
if test -f ../m4/$$f; then \
echo == $$f; \
if cmp $$f ../m4/$$f; then \
cd ../m4; cvs rm -f $$f; cd ../glm4; \
fi; \
fi; \
done
CLISP_DIR = ..
m4/general.m4 : $(CLISP_DIR)/src/m4/general.m4 ; cp -p $< $@-t && mv $@-t $@
m4/proto.m4 : $(CLISP_DIR)/src/m4/proto.m4 ; cp -p $< $@-t && mv $@-t $@
m4/cc-gcc.m4 : $(CLISP_DIR)/src/m4/cc-gcc.m4 ; cp -p $< $@-t && mv $@-t $@
m4/as-underscore.m4 : $(CLISP_DIR)/src/m4/as-underscore.m4 ; cp -p $< $@-t && mv $@-t $@
# It is important to get ltmain.sh and libtool.m4 from the same version of
# libtool. Don't rely on what's installed in /usr/share or similar.
LIBTOOL_VERSION = 2.2
LIBTOOL_SOURCE_FILE = libtool-$(LIBTOOL_VERSION).tar.gz
LIBTOOL_SOURCE_URL = http://ftp.gnu.org/gnu/libtool/$(LIBTOOL_SOURCE_FILE)
m4/ranlib.m4 : $(CLISP_DIR)/src/m4/ranlib.m4 ; cp -p $< $@-t && mv $@-t $@
m4/install.m4 : $(CLISP_DIR)/src/m4/install.m4 ; cp -p $< $@-t && mv $@-t $@
m4/cp.m4 : $(CLISP_DIR)/src/m4/cp.m4 ; cp -p $< $@-t && mv $@-t $@
m4/ln.m4 : $(CLISP_DIR)/src/m4/ln.m4 ; cp -p $< $@-t && mv $@-t $@
m4/ffcall-pccstruct.m4 : $(CLISP_DIR)/src/m4/ffcall-pccstruct.m4 ; cp -p $< $@-t && mv $@-t $@
m4/ffcall-smallstruct.m4 : $(CLISP_DIR)/src/m4/ffcall-smallstruct.m4 ; cp -p $< $@-t && mv $@-t $@
GNULIB_AUX=config.guess config.sub install-sh
# it is important not to have "*.m4" targets with ": force" dependencies
# because otherwise every make will rebuild all configures
build-aux-update : update-gnulib force
for f in $(GNULIB_AUX); do \
cp -afuv $(GNULIB_CHECKOUT)/build-aux/$$f build-aux; \
m4/ffcall-ireg.m4 : $(CLISP_DIR)/src/m4/ffcall-ireg.m4 ; cp -p $< $@-t && mv $@-t $@
m4/longlong.m4 : $(CLISP_DIR)/src/m4/longlong.m4 ; cp -p $< $@-t && mv $@-t $@
m4/cc-void.m4 : $(CLISP_DIR)/src/m4/cc-void.m4 ; cp -p $< $@-t && mv $@-t $@
m4/stdc-headers.m4 : $(CLISP_DIR)/src/m4/stdc-headers.m4 ; cp -p $< $@-t && mv $@-t $@
m4/getpagesize.m4 : $(CLISP_DIR)/src/m4/getpagesize.m4 ; cp -p $< $@-t && mv $@-t $@
done
test -f $(LIBTOOL_SOURCE_FILE) || wget $(LIBTOOL_SOURCE_URL)
rm -rf libtool-$(LIBTOOL_VERSION)
gunzip -c < $(LIBTOOL_SOURCE_FILE) | tar xf -
cp -afuv libtool-$(LIBTOOL_VERSION)/libltdl/config/ltmain.sh build-aux/ltmain.sh
m4/mach-vm.m4 : $(CLISP_DIR)/src/m4/mach-vm.m4 ; cp -p $< $@-t && mv $@-t $@
m4/openflags.m4 : $(CLISP_DIR)/src/m4/openflags.m4 ; cp -p $< $@-t && mv $@-t $@
m4/mmap.m4 : $(CLISP_DIR)/src/m4/mmap.m4 ; cp -p $< $@-t && mv $@-t $@
m4/mprotect.m4 : $(CLISP_DIR)/src/m4/mprotect.m4 ; cp -p $< $@-t && mv $@-t $@
m4/shm.m4 : $(CLISP_DIR)/src/m4/shm.m4 ; cp -p $< $@-t && mv $@-t $@
m4/ffcall-codeexec.m4 : $(CLISP_DIR)/src/m4/ffcall-codeexec.m4 ; cp -p $< $@-t && mv $@-t $@
m4/libtool.m4 : $(CLISP_DIR)/src/m4/libtool.m4
sed -e 's,AC_CANONICAL_HOST,CL_CANONICAL_HOST,g' -e 's,AC_PROG_RANLIB,CL_PROG_RANLIB,g' -e 's,AC_PROG_LN_S,CL_PROG_LN_S,g' < $< > $@-t && mv $@-t $@
cp -afuv libtool-$(LIBTOOL_VERSION)/libltdl/m4/libtool.m4 m4/libtool.m4
rm -rf libtool-$(LIBTOOL_VERSION) $(LIBTOOL_SOURCE_FILE)
CURDIR=$(shell pwd)
autoconf/aclocal.m4 : m4/general.m4 m4/proto.m4 m4/cc-gcc.m4 m4/as-underscore.m4 m4/ranlib.m4 m4/install.m4 m4/cp.m4 m4/ln.m4 m4/ffcall-pccstruct.m4 m4/ffcall-smallstruct.m4 m4/ffcall-ireg.m4 m4/longlong.m4 m4/cc-void.m4 m4/stdc-headers.m4 m4/getpagesize.m4 m4/mach-vm.m4 m4/openflags.m4 m4/mmap.m4 m4/mprotect.m4 m4/shm.m4 m4/ffcall-codeexec.m4 m4/libtool.m4
{ echo 'AC_INIT'; cat $(CONFIGURES_IN) | grep -v '\(AC_INIT(\|AC_OUTPUT(\|AC_CONFIG_HEADER(\)'; } > autoconf/configure.in
cd autoconf && aclocal --output=aclocal.m4 --acdir=../m4
rm -f autoconf/configure.in
aclocal.m4 : $(wildcard m4/*.m4) $(wildcard glm4/*.m4) $(CONFIGURES_IN)
{ echo 'AC_INIT'; cat $(CONFIGURES_IN) | grep -v '\(AC_INIT(\|AC_OUTPUT(\|AC_CONFIG_HEADERS(\|AC_CONFIG_FILES(\)'; } > configure.ac
mv configure.in configure.in-save
aclocal --output=aclocal.m4 -I `pwd`/m4 -I `pwd`/glm4
mv configure.in-save configure.in
rm -f configure.ac
AUTOCONF_FILES = aclocal.m4
AUTOCONF = autoconf
AUTOCONF_CACHE = autom4te.cache
AUTOHEADER = autoheader
SUBDIRS_CONFIG_H = avcall callback trampoline vacall \
callback/vacall_r callback/trampoline_r
SUBDIRS_CONFIGURE = $(CURDIR) $(SUBDIRS_CONFIG_H)
CONFIGURES = $(patsubst %,%/configure,$(SUBDIRS_CONFIGURE))
CONFIGURES_IN = $(patsubst %,%.in,$(CONFIGURES))
configures : $(CONFIGURES)
AUTOCONF_FILES = autoconf/aclocal.m4
AUTOCONF = autoconf
$(CONFIGURES) : %/configure : %/configure.in $(AUTOCONF_FILES)
cd $* && $(AUTOCONF) --include=$(CURDIR)
configure : configure.in $(AUTOCONF_FILES)
$(AUTOCONF) --include=autoconf
check-configures : $(CONFIGURES)
set -e; for f in $(CONFIGURES); do bash -x -n $$f; done
rm -rf `find . -name $(AUTOCONF_CACHE)`;
avcall/configure : avcall/configure.in $(AUTOCONF_FILES)
CONFIG_H_IN = $(patsubst %,%/config.h.in,$(SUBDIRS_CONFIG_H))
cd avcall ; $(AUTOCONF) --include=../autoconf
vacall/configure : vacall/configure.in $(AUTOCONF_FILES)
config-h-in : $(CONFIG_H_IN)
cd vacall ; $(AUTOCONF) --include=../autoconf
trampoline/configure : trampoline/configure.in $(AUTOCONF_FILES)
cd trampoline ; $(AUTOCONF) --include=../autoconf
$(CONFIG_H_IN) : %/config.h.in : %/configure.in $(AUTOCONF_FILES)
cd $* && $(AUTOHEADER) --include=$(CURDIR)
woe32-h : avcall/avcall.h.msvc avcall/avcall.h.mingw32 \
callback/configure : callback/configure.in $(AUTOCONF_FILES)
cd callback ; $(AUTOCONF) --include=../autoconf
callback/vacall_r/configure : callback/vacall_r/configure.in $(AUTOCONF_FILES)
cd callback/vacall_r ; $(AUTOCONF) --include=../../autoconf
callback/trampoline_r/configure : callback/trampoline_r/configure.in $(AUTOCONF_FILES)
cd callback/trampoline_r ; $(AUTOCONF) --include=../../autoconf
vacall/config.h.msvc vacall/config.h.mingw32 vacall/vacall.h.msvc \
vacall/vacall.h.mingw32 \
trampoline/config.h.msvc trampoline/config.h.mingw32 \
callback/vacall_r/config.h.msvc callback/vacall_r/config.h.mingw32 \
callback/vacall_r/vacall_r.h.msvc \
callback/vacall_r/vacall_r.h.mingw32 \
callback/trampoline_r/config.h.msvc \
callback/trampoline_r/config.h.mingw32
check-configures : $(CONFIGURES)
set -e; for f in $(CONFIGURES); do bash -x -n $$f; done
woe32-c : avcall/avcall-i386-msvc.c avcall/avcall-i386-mingw32.c \
vacall/vacall-i386-msvc.c vacall/vacall-i386-mingw32.c \
callback/vacall_r/vacall-i386-msvc.c
avcall/avcall.h.msvc : avcall/avcall.h.in
cd avcall ; $(MAKE) -f Makefile.devel avcall.h.msvc
cd avcall && $(MAKE) -f Makefile.devel avcall.h.msvc
avcall/avcall.h.mingw32 : avcall/avcall.h.in
cd avcall ; $(MAKE) -f Makefile.devel avcall.h.mingw32
cd avcall && $(MAKE) -f Makefile.devel avcall.h.mingw32
avcall/avcall-i386-msvc.c : avcall/avcall-i386-macro.S avcall/asmi386.sh
cd avcall ; $(MAKE) -f Makefile.devel avcall-i386-msvc.c
cd avcall && $(MAKE) -f Makefile.devel avcall-i386-msvc.c
avcall/avcall-i386-mingw32.c : avcall/avcall-i386-macro.S avcall/asmi386.sh
cd avcall ; $(MAKE) -f Makefile.devel avcall-i386-mingw32.c
cd avcall && $(MAKE) -f Makefile.devel avcall-i386-mingw32.c
vacall/config.h.msvc : vacall/config.h.in
cd vacall ; $(MAKE) -f Makefile.devel config.h.msvc
cd vacall && $(MAKE) -f Makefile.devel config.h.msvc
vacall/config.h.mingw32 : vacall/config.h.in
cd vacall ; $(MAKE) -f Makefile.devel config.h.mingw32
cd vacall && $(MAKE) -f Makefile.devel config.h.mingw32
vacall/vacall.h.msvc : vacall/vacall.h.in
cd vacall ; $(MAKE) -f Makefile.devel vacall.h.msvc
vacall/vacall.h.msvc : vacall/vacall.h.in VERSION
cd vacall && $(MAKE) -f Makefile.devel vacall.h.msvc
vacall/vacall.h.mingw32 : vacall/vacall.h.in
cd vacall ; $(MAKE) -f Makefile.devel vacall.h.mingw32
vacall/vacall.h.mingw32 : vacall/vacall.h.in VERSION
cd vacall && $(MAKE) -f Makefile.devel vacall.h.mingw32
vacall/vacall-i386-msvc.c : vacall/vacall-i386-macro.S vacall/asmi386.sh
cd vacall ; $(MAKE) -f Makefile.devel vacall-i386-msvc.c
cd vacall && $(MAKE) -f Makefile.devel vacall-i386-msvc.c
vacall/vacall-i386-mingw32.c : vacall/vacall-i386-macro.S vacall/asmi386.sh
cd vacall ; $(MAKE) -f Makefile.devel vacall-i386-mingw32.c
cd vacall && $(MAKE) -f Makefile.devel vacall-i386-mingw32.c
trampoline/config.h.msvc : trampoline/config.h.in
cd trampoline ; $(MAKE) -f Makefile.devel config.h.msvc
cd trampoline && $(MAKE) -f Makefile.devel config.h.msvc
trampoline/config.h.mingw32 : trampoline/config.h.in
cd trampoline ; $(MAKE) -f Makefile.devel config.h.mingw32
cd trampoline && $(MAKE) -f Makefile.devel config.h.mingw32
callback/vacall_r/config.h.msvc : callback/vacall_r/config.h.in
cd callback ; $(MAKE) -f Makefile.devel vacall_r/config.h.msvc
cd callback && $(MAKE) -f Makefile.devel vacall_r/config.h.msvc
callback/vacall_r/config.h.mingw32 : callback/vacall_r/config.h.in
cd callback ; $(MAKE) -f Makefile.devel vacall_r/config.h.mingw32
cd callback && $(MAKE) -f Makefile.devel vacall_r/config.h.mingw32
callback/vacall_r/vacall_r.h.msvc : callback/vacall_r/vacall_r.h.in
cd callback ; $(MAKE) -f Makefile.devel vacall_r/vacall_r.h.msvc
callback/vacall_r/vacall_r.h.msvc : callback/vacall_r/vacall_r.h.in VERSION
cd callback && $(MAKE) -f Makefile.devel vacall_r/vacall_r.h.msvc
callback/vacall_r/vacall_r.h.mingw32 : callback/vacall_r/vacall_r.h.in
cd callback ; $(MAKE) -f Makefile.devel vacall_r/vacall_r.h.mingw32
callback/vacall_r/vacall_r.h.mingw32 : callback/vacall_r/vacall_r.h.in VERSION
cd callback && $(MAKE) -f Makefile.devel vacall_r/vacall_r.h.mingw32
callback/vacall_r/vacall-i386-msvc.c : callback/vacall_r/vacall-i386-macro.S callback/vacall_r/asmi386.sh
cd callback ; $(MAKE) -f Makefile.devel vacall_r/vacall-i386-msvc.c
cd callback && $(MAKE) -f Makefile.devel vacall_r/vacall-i386-msvc.c
callback/vacall_r/vacall-i386-mingw32.c : callback/vacall_r/vacall-i386-macro.S callback/vacall_r/asmi386.sh
cd callback ; $(MAKE) -f Makefile.devel vacall_r/vacall-i386-mingw32.c
cd callback && $(MAKE) -f Makefile.devel vacall_r/vacall-i386-mingw32.c
callback/trampoline_r/config.h.msvc : callback/trampoline_r/config.h.in
cd callback ; $(MAKE) -f Makefile.devel trampoline_r/config.h.msvc
cd callback && $(MAKE) -f Makefile.devel trampoline_r/config.h.msvc
callback/trampoline_r/config.h.mingw32 : callback/trampoline_r/config.h.in
cd callback ; $(MAKE) -f Makefile.devel trampoline_r/config.h.mingw32
cd callback && $(MAKE) -f Makefile.devel trampoline_r/config.h.mingw32
COMPILERS="cc -O" "gcc -freg-struct-return" "gcc -fpcc-struct-return"
multibuild : force
for compiler in $(COMPILERS) ; do \
dir=build-`echo $$compiler | sed -e 's, ,,g' -e 's,/,_,g'`; \
mkdir $$dir; cd $$dir; \
|