Merge branch 'bug-4296-expop-assign'
[maxima.git] / Makefile.am
blob663e370a45f0356d47ddbea00d06b6945ebdafa4
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 if ENABLE_BUILD_DOCS
10    DOC_DIR = doc
11 endif
13 SUBDIRS = admin crosscompile-windows src lisp-utils tests $(DOC_DIR) interfaces share demo plotting desktopintegration $(LOCALE_DIR)
15 EXTRA_DIST = \
16   common.mk maxima.iss.in \
17   README-lisps.md README.rpms README.i18n README.external README.developers-howto \
18   INSTALL.win32 INSTALL.lisp INSTALL.git INSTALL.win32nogcl \
19   configure.lisp  maxima-local.in xmaxima-local.in \
20   macosx/Makefile macosx/Readme.md macosx/maxima.sh macosx/script \
21   macosx/xmaxima.sh macosx/appIcon.icns macosx/How_to_install.rtf \
22   changelogs ChangeLog LICENSES/getopt-license.txt\
23   snap/snapcraft.yaml
25 include common.mk
27 extradocinstall:
28         test -d "$(DESTDIR)$(docdir)" || mkdir -p "$(DESTDIR)$(docdir)"
29         for file in AUTHORS COPYING INSTALL README README-lisps.md ; \
30             do \
31             $(INSTALL_DATA) $$file "$(DESTDIR)$(docdir)" ; \
32             done
34 $(distdir).tar.gz: Makefile.am
35         $(MAKE) dist
37 # windows installer rules
38 if WIN32
40 GNUPLOTDIR = "/c/programs/gnuplot"
41 WXMAXIMADIR = "/c/programs/wxMaxima"
43 # Install the gnuplot binary files
44 gnuplot: 
45         mkdir -p $(prefix)/gnuplot
46         cp -rf $(GNUPLOTDIR) $(prefix)/
48 # Install wxMaxima
49 wxmaxima:
50         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
51         cp -rf $(WXMAXIMADIR) $(prefix)/wxMaxima
53 cclcopy:
54         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
55         cp "$(OPENMCL_NAME)" "$(prefix)/bin/"
57 sbclcopy:
58         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
59         cp "$(SBCL_NAME)" "$(prefix)/bin/"
61 RUNTIMECOPY = 
62 # Install files for lisp runtime support
63 if GCL
64 RUNTIMECOPY += gcccopy
65 endif
67 if OPENMCL
68 RUNTIMECOPY += cclcopy
69 endif
71 if SBCL
72 RUNTIMECOPY += sbclcopy
73 endif
75 # Install files for lisp runtime support
76 win32-lisp-runtime: $(RUNTIMECOPY)
78 MINGW=/mingw
79 if GCC331
80 GCCPREFIX=/usr/local
81 # Old gcc/mingw/msys install
82 gcccopy:
83         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
84         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
85         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
86         test -d "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include" \
87                 || mkdir -p "$(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include"
88         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
89         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
90         cp $(MINGW)/bin/tclpip84.dll $(prefix)/bin
91         cp $(MINGW)/include/stdio.h $(prefix)/include
92         cp $(MINGW)/include/stdlib.h $(prefix)/include
93         cp $(MINGW)/include/setjmp.h $(prefix)/include
94         cp $(MINGW)/include/_mingw.h $(prefix)/include
95         cp $(MINGW)/include/math.h $(prefix)/include
96         cp $(MINGW)/include/unistd.h $(prefix)/include
97         cp $(MINGW)/include/io.h $(prefix)/include
98         cp $(MINGW)/include/process.h $(prefix)/include
99         cp $(MINGW)/include/getopt.h $(prefix)/include
100         cp $(MINGW)/include/stdint.h $(prefix)/include
101         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
102         cp $(MINGW)/include/varargs.h $(prefix)/include
103         cp $(MINGW)/include/stddef.h $(prefix)/include
104         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/cc1.exe \
105                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
106         cp $(MINGW)/bin/as.exe \
107                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
108         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/specs  \
109                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)
110         cp $(GCCPREFIX)/lib/gcc-lib/mingw32/$(GCCVER)/include/*.h  \
111                 $(prefix)/lib/gcc-lib/mingw32/$(GCCVER)/include
113 else # GCC331
115 GCCPREFIX=$(MINGW)
116 # New (November 2013) gcc/mingw/msys install using gcc-4.8.1
117 gcccopy:
118         test -d "$(prefix)/bin" || mkdir -p "$(prefix)/bin"
119         test -d "$(prefix)/include" || mkdir -p "$(prefix)/include"
120         test -d "$(prefix)/include/sys" || mkdir -p "$(prefix)/include/sys"
121         test -d "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include" \
122                 || mkdir -p "$(prefix)/lib/gcc/mingw32/$(GCCVER)/include"
123         test -d "$(prefix)/libexec/gcc/mingw32/$(GCCVER)" \
124                 || mkdir -p "$(prefix)/libexec/gcc/mingw32/$(GCCVER)"
125         cp $(GCCPREFIX)/bin/gcc.exe $(prefix)/bin
126         cp $(MINGW)/bin/mingwm10.dll $(prefix)/bin
127         cp $(GCCPREFIX)/bin/libgmp-10.dll $(prefix)/bin
128         cp $(GCCPREFIX)/bin/libmpc-3.dll $(prefix)/bin
129         cp $(GCCPREFIX)/bin/libmpfr-4.dll $(prefix)/bin
130         cp /c/tcl/bin/tclpip85.dll $(prefix)/bin
131         cp $(MINGW)/include/stdio.h $(prefix)/include
132         cp $(MINGW)/include/stdlib.h $(prefix)/include
133         cp $(MINGW)/include/setjmp.h $(prefix)/include
134         cp $(MINGW)/include/_mingw.h $(prefix)/include
135         cp $(MINGW)/include/math.h $(prefix)/include
136         cp $(MINGW)/include/unistd.h $(prefix)/include
137         cp $(MINGW)/include/io.h $(prefix)/include
138         cp $(MINGW)/include/process.h $(prefix)/include
139         cp $(MINGW)/include/getopt.h $(prefix)/include
140         cp $(MINGW)/include/stdint.h $(prefix)/include
141         cp $(MINGW)/include/sys/*.h $(prefix)/include/sys
142         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/cc1.exe \
143                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
144         cp $(GCCPREFIX)/libexec/gcc/mingw32/$(GCCVER)/liblto_plugin-0.dll \
145                 $(prefix)/libexec/gcc/mingw32/$(GCCVER)
146         cp $(MINGW)/bin/as.exe \
147                 $(prefix)/libexec/gcc
148         cp $(GCCPREFIX)/lib/gcc/mingw32/$(GCCVER)/include/*.h  \
149                 $(prefix)/lib/gcc/mingw32/$(GCCVER)/include
151 endif # GCC331
153 iss: win32-lisp-runtime wxmaxima gnuplot extradocinstall
155 endif # WIN32
157 rpm: maxima.spec dist-gzip
158         rpmbuild -ba $(top_srcdir)/maxima.spec --define "_sourcedir $(abs_top_builddir)" --define "_rpmdir $(abs_top_builddir)"
159         rpmbuild -bb $(top_srcdir)/maxima.spec --define "_sourcedir $(abs_top_builddir)" --define "_rpmdir $(abs_top_builddir)"
161 clean-local:
162         rm -rf bin
163         rm -rf binary
165 check-local: all