DEFMTRFUN: use DEFUN to define regular functions with rest args
[maxima.git] / Makefile.am
blob4203a9890887db6c67f8b3cc8d1f45d746c48179
1 # On debian-based systems this makes us use the right gcl version out-of-the box.
2 # On other systems it doesn't hurt.
3 export GCL_ANSI=t
5 if ENABLE_GETTEXT
6    LOCALE_DIR = locale
7 endif
9 SUBDIRS = admin crosscompile-windows src lisp-utils tests doc interfaces share demo plotting desktopintegration $(LOCALE_DIR)
11 EXTRA_DIST = \
12   common.mk maxima.iss.in \
13   README.lisps README.rpms README.i18n README.external README.developers-howto \
14   INSTALL.win32 INSTALL.lisp INSTALL.git INSTALL.win32nogcl \
15   configure.lisp  maxima-local.in xmaxima-local.in \
16   macosx/Makefile macosx/Readme.md macosx/maxima.sh macosx/script \
17   macosx/xmaxima.sh macosx/appIcon.icns macosx/How_to_install.rtf \
18   ChangeLog-5.9.2 ChangeLog-5.9.3 ChangeLog-5.10.0 ChangeLog-5.11.0 \
19   ChangeLog-5.12.0 ChangeLog-5.13.0 ChangeLog-5.14.0 ChangeLog-5.15.0 \
20   ChangeLog-5.16 ChangeLog-5.17 ChangeLog-5.17-special-functions \
21   ChangeLog-5.18 ChangeLog-5.19 ChangeLog-5.20 ChangeLog-5.21 ChangeLog-5.22 \
22   ChangeLog-5.23 ChangeLog-5.24 ChangeLog-5.25 ChangeLog-5.26 ChangeLog-5.27 \
23   ChangeLog-5.28 ChangeLog-5.29 ChangeLog-5.30 ChangeLog-5.31 ChangeLog-5.32 \
24   ChangeLog-5.33 ChangeLog-5.34 ChangeLog-5.35 ChangeLog-5.36.md ChangeLog-5.37.md \
25   ChangeLog-5.38.md ChangeLog-5.39.md ChangeLog-5.40.md ChangeLog-5.41.md \
26   ChangeLog-5.42.md LICENSES/getopt-license.txt\
27   snap/snapcraft.yaml
29 include common.mk
31 extradocinstall:
32         test -d "$(DESTDIR)$(docdir)" || mkdir -p "$(DESTDIR)$(docdir)"
33         for file in AUTHORS COPYING INSTALL README README.lisps ; \
34             do \
35             $(INSTALL_DATA) $$file "$(DESTDIR)$(docdir)" ; \
36             done
38 $(distdir).tar.gz: Makefile.am
39         $(MAKE) dist
41 # windows installer rules
42 if WIN32
44 GNUPLOTDIR = "/c/programs/gnuplot"
45 WXMAXIMADIR = "/c/programs/wxMaxima"
47 # Install the gnuplot binary files
48 gnuplot: 
49         mkdir -p $(prefix)/gnuplot
50         cp -rf $(GNUPLOTDIR) $(prefix)/
52 # Install wxMaxima
53 wxmaxima:
54         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
55         cp -rf $(WXMAXIMADIR) $(prefix)/wxMaxima
57 cclcopy:
58         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
59         cp "$(OPENMCL_NAME)" "$(prefix)/bin/"
61 sbclcopy:
62         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
63         cp "$(SBCL_NAME)" "$(prefix)/bin/"
65 RUNTIMECOPY = 
66 # Install files for lisp runtime support
67 if GCL
68 RUNTIMECOPY += gcccopy
69 endif
71 if OPENMCL
72 RUNTIMECOPY += cclcopy
73 endif
75 if SBCL
76 RUNTIMECOPY += sbclcopy
77 endif
79 # Install files for lisp runtime support
80 win32-lisp-runtime: $(RUNTIMECOPY)
82 MINGW=/mingw
83 if GCC331
84 GCCPREFIX=/usr/local
85 # Old gcc/mingw/msys install
86 gcccopy:
87         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
88         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
89         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
90         test -d "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include" \
91                 || mkdir -p "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include"
92         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
93         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
94         cp $(MINGW)/bin/tclpip84.dll $(prefix)/bin
95         cp $(MINGW)/include/stdio.h $(prefix)/include
96         cp $(MINGW)/include/stdlib.h $(prefix)/include
97         cp $(MINGW)/include/setjmp.h $(prefix)/include
98         cp $(MINGW)/include/_mingw.h $(prefix)/include
99         cp $(MINGW)/include/math.h $(prefix)/include
100         cp $(MINGW)/include/unistd.h $(prefix)/include
101         cp $(MINGW)/include/io.h $(prefix)/include
102         cp $(MINGW)/include/process.h $(prefix)/include
103         cp $(MINGW)/include/getopt.h $(prefix)/include
104         cp $(MINGW)/include/stdint.h $(prefix)/include
105         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
106         cp $(MINGW)/include/varargs.h $(prefix)/include
107         cp $(MINGW)/include/stddef.h $(prefix)/include
108         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/cc1.exe \
109                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
110         cp $(MINGW)/bin/as.exe \
111                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
112         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/specs  \
113                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
114         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/include/*.h  \
115                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include
117 else # GCC331
119 GCCPREFIX=$(MINGW)
120 # New (November 2013) gcc/mingw/msys install using gcc-4.8.1
121 gcccopy:
122         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
123         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
124         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
125         test -d "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include" \
126                 || mkdir -p "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include"
127         test -d "$(prefix)/libexec/gcc/mingw32/$(GCCVER)" \
128                 || mkdir -p "$(prefix)/libexec/gcc/mingw32/$(GCCVER)"
129         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
130         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
131         cp $(GCCPREFIX)/bin/libgmp-10.dll $(prefix)/bin
132         cp $(GCCPREFIX)/bin/libmpc-3.dll $(prefix)/bin
133         cp $(GCCPREFIX)/bin/libmpfr-4.dll $(prefix)/bin
134         cp /c/tcl/bin/tclpip85.dll $(prefix)/bin
135         cp $(MINGW)/include/stdio.h $(prefix)/include
136         cp $(MINGW)/include/stdlib.h $(prefix)/include
137         cp $(MINGW)/include/setjmp.h $(prefix)/include
138         cp $(MINGW)/include/_mingw.h $(prefix)/include
139         cp $(MINGW)/include/math.h $(prefix)/include
140         cp $(MINGW)/include/unistd.h $(prefix)/include
141         cp $(MINGW)/include/io.h $(prefix)/include
142         cp $(MINGW)/include/process.h $(prefix)/include
143         cp $(MINGW)/include/getopt.h $(prefix)/include
144         cp $(MINGW)/include/stdint.h $(prefix)/include
145         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
146         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/cc1.exe \
147                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
148         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/liblto_plugin-0.dll \
149                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
150         cp $(MINGW)/bin/as.exe \
151                 $(prefix)/libexec/gcc
152         cp $(GCCPREFIX)/lib/gcc/mingw32/$(GCCVER)/include/*.h  \
153                 $(prefix)/lib/gcc/mingw32/$(GCCVER)/include
155 endif # GCC331
157 iss: win32-lisp-runtime wxmaxima gnuplot extradocinstall
159 endif # WIN32
161 rpm: maxima.spec dist-gzip
162         rpmbuild -ba $(top_srcdir)/maxima.spec --define "_sourcedir $(abs_top_builddir)" --define "_rpmdir $(abs_top_builddir)"
163         rpmbuild -bb $(top_srcdir)/maxima.spec --define "_sourcedir $(abs_top_builddir)" --define "_rpmdir $(abs_top_builddir)"
165 clean-local:
166         rm -rf bin
167         rm -rf binary
169 check-local: all