1 # This is the prototype Makefile for the GiNaC package.
3 # Not every make knows what CXX is, so we inherit it together with some other
4 # values from configure which checks it anyways:
12 # Here come the usual install directories in GNU-configure fashion:
15 exec_prefix = @exec_prefix@
18 includedir = @includedir@/GiNaC
20 # This must be empty unless the user has called configure with --enable-shared:
23 # The version-number is tracked in configure.in only:
24 LIBGINACVER = @LibGiNaC_Ver@
26 # Autoconf macro AC_PROC_INSTALL sets these:
28 INSTALL_DATA = @INSTALL_DATA@
32 echo "now type make install"
35 cd src; ${MAKE} libginac.la
38 cd src; ${MAKE} .libs/libginac.a
44 # Target for making the GiNaC interactive shell (ginsh):
46 if [ "${shared}" ]; then ${MAKE} sharedginsh; else ${MAKE} staticginsh; fi
48 sharedginsh: src/libginac.la
49 cd ginsh; ${MAKE} sharedginsh
51 staticginsh: src/.libs/libginac.a
52 cd ginsh; ${MAKE} staticginsh
55 # Target for running a test-suite across the library:
57 if [ "${shared}" ]; then ${MAKE} sharedcheck; else ${MAKE} staticcheck; fi
59 sharedcheck: src/libginac.la
60 cd check; ${MAKE} sharedcheck
62 staticcheck: src/.libs/libginac.a
63 cd check; ${MAKE} staticcheck
66 # Targets for installation in install directories. The user-visible target
67 # `install' determines which one to call (static lib only or both shared and
70 @ if [ "${shared}" ]; then \
75 ${INSTALL} -d ${includedir}
76 ${INSTALL_DATA} include/*.h ${includedir}/
77 cd ginsh; ${MAKE} install
78 cd doc; ${MAKE} install
80 shlibinst: src/libginac.la installdirs
81 ${LIBTOOL} install src/libginac.la ${libdir}/libginac.la
82 ${LIBTOOL} -n --finish ${libdir}
84 libinst: src/.libs/libginac.a installdirs
85 ${INSTALL_DATA} src/.libs/libginac.a ${libdir}/libginac.a
88 ./mkinstalldirs ${libdir} ${includedir}
91 # Targets for cleaning up. (clean deletes files created by built, distclean
92 # deletes files created by configuration, uninstall removes all files related
93 # to GiNaC from the system.)
96 cd check; ${MAKE} clean
97 cd ginsh; ${MAKE} clean
100 cd src; ${MAKE} distclean
101 cd check; ${MAKE} distclean
102 cd ginsh; ${MAKE} distclean
103 rm -f config.status config.log config.cache config.h Makefile
106 rm -f ${libdir}/libginac.*
108 cd ginsh; ${MAKE} uninstall
109 cd doc; ${MAKE} uninstall
112 # Convenient targets for those who wish to extend on the documentation:
116 cd doc; ${MAKE} reference
118 cd doc; ${MAKE} tutorial
121 # Special dummy targets:
122 .PHONY: clean distclean all install installdirs uninstall check ginsh doc
123 .SUFFIXES: .o .lo .cpp
124 .SILENT: all check sharedcheck staticcheck doc reference tutorial