Initial revision
[ginac.git] / Makefile.in
1 # This is the prototype Makefile for the GiNaC package. 
2
3 # Not every make knows what CXX is, so we inherit it together with some other
4 # values from configure which checks it anyways:
5 CXX = @CXX@
6 CXXFLAGS = @CXXFLAGS@
7 CPPFLAGS = @CPPFLAGS@
8 DEFS = @DEFS@
9 LIBS = @LIBS@
10 LDFLAGS = @LDFLAGS@
11
12 # Here come the usual install directories in GNU-configure fashion:
13 srcdir = @srcdir@
14 prefix = @prefix@
15 exec_prefix = @exec_prefix@
16 bindir = @bindir@
17 libdir = @libdir@
18 includedir = @includedir@/GiNaC
19
20 # This must be empty unless the user has called configure with --enable-shared:
21 shared = @shared@
22
23 # The version-number is tracked in configure.in only:
24 LIBGINACVER = @LibGiNaC_Ver@
25
26 # Autoconf macro AC_PROC_INSTALL sets these:
27 INSTALL = @INSTALL@
28 INSTALL_DATA = @INSTALL_DATA@
29
30 all:    lib ginsh
31         echo "now type make install"
32
33 src/libginac.la:
34         cd src; ${MAKE} libginac.la
35
36 src/.libs/libginac.a:
37         cd src; ${MAKE} .libs/libginac.a
38
39 lib:
40         cd src; ${MAKE} all
41
42 # Target for running a test-suite across the library:
43 check:
44         if [ "${shared}" ]; then \
45                 ${MAKE} sharedcheck; \
46         else \
47                 ${MAKE} staticcheck; \
48         fi
49
50 sharedcheck: src/libginac.la
51         cd check; ${MAKE} sharedcheck
52
53 staticcheck: src/.libs/libginac.a
54         cd check; ${MAKE} staticcheck
55
56 # Target for making the Ginac INteractive SHell ginsh:
57 ginsh:
58         cd ginsh; ${MAKE} all
59
60 # Targets for installation in install directories.  The user-visible target
61 # `install' determines which one to call (static lib only or both shared and
62 # static lib).
63 install: 
64         @ if [ "${shared}" ]; then \
65                 ${MAKE} shlibinst; \
66         else \
67                 ${MAKE} libinst; \
68         fi
69         ${INSTALL} -d ${includedir}
70         ${INSTALL_DATA} include/* ${includedir}/
71         cd ginsh; ${MAKE} install
72         cd doc; ${MAKE} install
73
74 shlibinst: libginac.la
75         ${INSTALL} -d ${libdir}
76         ${LIBTOOL} install libginac.la ${libdir}/libginac.la
77         ${LIBTOOL} -n --finish ${libdir}
78
79 libinst: .libs/libginac.a
80         ${INSTALL} -d ${libdir}
81         ${INSTALL_DATA} .libs/libginac.a ${libdir}/libginac.a
82
83 # Targets for cleaning up. (clean deletes files created by built, distclean
84 # deletes files created by configuration, uninstall removes all files related
85 # to GiNaC from the system.)
86 clean:
87         cd src; ${MAKE} clean
88         cd check; ${MAKE} clean
89         cd ginsh; ${MAKE} clean
90
91 distclean: clean
92         cd src; ${MAKE} distclean
93         cd check; ${MAKE} distclean
94         cd ginsh; ${MAKE} distclean
95         rm -f config.status config.log config.cache config.h Makefile
96
97 uninstall:
98         rm -f ${libdir}/libginac.*
99         rm -rf ${includedir}
100         cd ginsh; ${MAKE} uninstall
101         cd doc; ${MAKE} uninstall
102
103 # Convenient targets for those who wish to extend on the documentation:
104 doc:
105         cd doc; ${MAKE} all
106 reference:
107         cd doc; ${MAKE} reference
108 tutorial:
109         cd doc; ${MAKE} tutorial
110
111 # Special dummy targets:
112 .PHONY: clean distclean all install uninstall check ginsh doc
113 .SUFFIXES: .o .lo .cpp
114 .SILENT: all check sharedcheck staticcheck doc reference tutorial
115