Fixes a bug: in a product of permutations, the one on the right is applied first.
[maxima.git] / Makefile.am
blob7de8f97287068a492752d2bd2010e102ef2f7bde
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 LICENSES/getopt-license.txt\
26   snap/snapcraft.yaml
28 include common.mk
30 extradocinstall:
31         test -d "$(DESTDIR)$(docdir)" || mkdir -p "$(DESTDIR)$(docdir)"
32         for file in AUTHORS COPYING INSTALL README README.lisps ; \
33             do \
34             $(INSTALL_DATA) $$file "$(DESTDIR)$(docdir)" ; \
35             done
37 $(distdir).tar.gz: Makefile.am
38         $(MAKE) dist
40 # Build the Maxima rpms. Optionally, use
41 #     make rpm SUDO=sudo
42 # to use sudo to wrap the commands. The user must have sudo permissions
43 # for rpm and cp.
44 rpm: $(distdir).tar.gz
45         $(SUDO) cp $(distdir).tar.gz /usr/src/redhat/SOURCES && \
46         $(SUDO) rpmbuild -ba maxima.spec
48 # windows installer rules
49 if WIN32
51 GNUPLOTDIR = "/c/programs/gnuplot"
52 WXMAXIMADIR = "/c/programs/wxMaxima"
54 # Install the gnuplot binary files
55 gnuplot: 
56         mkdir -p $(prefix)/gnuplot
57         cp -rf $(GNUPLOTDIR) $(prefix)/
59 # Install wxMaxima
60 wxmaxima:
61         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
62         cp -rf $(WXMAXIMADIR) $(prefix)/wxMaxima
64 cclcopy:
65         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
66         cp "$(OPENMCL_NAME)" "$(prefix)/bin/"
68 sbclcopy:
69         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
70         cp "$(SBCL_NAME)" "$(prefix)/bin/"
72 RUNTIMECOPY = 
73 # Install files for lisp runtime support
74 if GCL
75 RUNTIMECOPY += gcccopy
76 endif
78 if OPENMCL
79 RUNTIMECOPY += cclcopy
80 endif
82 if SBCL
83 RUNTIMECOPY += sbclcopy
84 endif
86 # Install files for lisp runtime support
87 win32-lisp-runtime: $(RUNTIMECOPY)
89 MINGW=/mingw
90 if GCC331
91 GCCPREFIX=/usr/local
92 # Old gcc/mingw/msys install
93 gcccopy:
94         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
95         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
96         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
97         test -d "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include" \
98                 || mkdir -p "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include"
99         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
100         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
101         cp $(MINGW)/bin/tclpip84.dll $(prefix)/bin
102         cp $(MINGW)/include/stdio.h $(prefix)/include
103         cp $(MINGW)/include/stdlib.h $(prefix)/include
104         cp $(MINGW)/include/setjmp.h $(prefix)/include
105         cp $(MINGW)/include/_mingw.h $(prefix)/include
106         cp $(MINGW)/include/math.h $(prefix)/include
107         cp $(MINGW)/include/unistd.h $(prefix)/include
108         cp $(MINGW)/include/io.h $(prefix)/include
109         cp $(MINGW)/include/process.h $(prefix)/include
110         cp $(MINGW)/include/getopt.h $(prefix)/include
111         cp $(MINGW)/include/stdint.h $(prefix)/include
112         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
113         cp $(MINGW)/include/varargs.h $(prefix)/include
114         cp $(MINGW)/include/stddef.h $(prefix)/include
115         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/cc1.exe \
116                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
117         cp $(MINGW)/bin/as.exe \
118                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
119         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/specs  \
120                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
121         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/include/*.h  \
122                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include
124 else # GCC331
126 GCCPREFIX=$(MINGW)
127 # New (November 2013) gcc/mingw/msys install using gcc-4.8.1
128 gcccopy:
129         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
130         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
131         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
132         test -d "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include" \
133                 || mkdir -p "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include"
134         test -d "$(prefix)/libexec/gcc/mingw32/$(GCCVER)" \
135                 || mkdir -p "$(prefix)/libexec/gcc/mingw32/$(GCCVER)"
136         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
137         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
138         cp $(GCCPREFIX)/bin/libgmp-10.dll $(prefix)/bin
139         cp $(GCCPREFIX)/bin/libmpc-3.dll $(prefix)/bin
140         cp $(GCCPREFIX)/bin/libmpfr-4.dll $(prefix)/bin
141         cp /c/tcl/bin/tclpip85.dll $(prefix)/bin
142         cp $(MINGW)/include/stdio.h $(prefix)/include
143         cp $(MINGW)/include/stdlib.h $(prefix)/include
144         cp $(MINGW)/include/setjmp.h $(prefix)/include
145         cp $(MINGW)/include/_mingw.h $(prefix)/include
146         cp $(MINGW)/include/math.h $(prefix)/include
147         cp $(MINGW)/include/unistd.h $(prefix)/include
148         cp $(MINGW)/include/io.h $(prefix)/include
149         cp $(MINGW)/include/process.h $(prefix)/include
150         cp $(MINGW)/include/getopt.h $(prefix)/include
151         cp $(MINGW)/include/stdint.h $(prefix)/include
152         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
153         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/cc1.exe \
154                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
155         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/liblto_plugin-0.dll \
156                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
157         cp $(MINGW)/bin/as.exe \
158                 $(prefix)/libexec/gcc
159         cp $(GCCPREFIX)/lib/gcc/mingw32/$(GCCVER)/include/*.h  \
160                 $(prefix)/lib/gcc/mingw32/$(GCCVER)/include
162 endif # GCC331
164 iss: win32-lisp-runtime wxmaxima gnuplot extradocinstall
166 endif # WIN32
168 clean-local:
169         rm -rf bin
170         rm -rf binary