include Makefile.config

DIRS = src util py_ext

all: dynamic utils static

install: install-common install-dynamic install-utils install-static install-man

install-common:
	install -d $(libdir)
	install -d $(includedir)
	install -c -m 0644 src/ming.h $(includedir)
	install -c -m 0644 src/ming_config.h $(includedir)
	install -c -m 0644 mingpp.h $(includedir)

install-utils:
	(cd util && make install)

install-man:
	(cd man && make install)

install-dynamic: dynamic
	install -c -m 0644 $(SHAREDLIB) $(libdir)/$(SHAREDLIB)
	(cd $(libdir) && ln -fs $(SHAREDLIB) libming$(SHORT_SHLIBEXT) && ln -fs libming$(SHORT_SHLIBEXT) libming$(NOVAR_SHLIBEXT))

install-static: static
	install -c -m 0644 libming.a $(libdir)/

utils:
	(cd util && make)

dynamic:
	(cd src && $(MAKE) $@ CFLAGS="$(CFLAGS) $(SHCFLAGS)")

static:
	(cd src && $(MAKE) $@)

clean:
	for i in $(DIRS); do (cd $$i && $(MAKE) clean); done
	if [ -f perl_ext/Makefile ] ; then cd perl_ext; $(MAKE) clean; fi
	rm -f test.o test test.exe *.core *~
	rm -f libming.a libming*$(NOVAR_SHLIBEXT)*

distclean: clean
	rm -Rf Rules.make config.make Makefile.config autom4te.cache \
		config.log config.status src/ming_config.h src/ming.h

maintainer-clean: distclean
	rm -f configure

Changelog::
	cvs2cl --accum -I ChangeLog

#
# Make release tarballs. Note, the license on the php & java extension
# doesn't sit well with some distros (not DFSG compatible), so we'll
# just packages them seperately to make things convenient.
#
release:
	cvs export -d ming-$(MING_VERSION) -D now ming
	tar czvf ming-ch-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/ch
	rm -rf ming-$(MING_VERSION)/ch
	tar czvf ming-rb-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/rb_ext
	rm -rf ming-$(MING_VERSION)/rb_ext
	tar czvf ming-py-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/py_ext
	rm -rf ming-$(MING_VERSION)/py_ext
	tar czvf ming-tcl-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/tcl_ext
	rm -rf ming-$(MING_VERSION)/tcl_ext
	tar czvf ming-perl-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/perl_ext
	rm -rf ming-$(MING_VERSION)/perl_ext
	tar czvf ming-java-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/java_ext
	rm -rf ming-$(MING_VERSION)/java_ext
	tar czvf ming-php-$(MING_VERSION).tar.gz ming-$(MING_VERSION)/php_ext
	rm -rf ming-$(MING_VERSION)/php_ext
	rm -rf ming-$(MING_VERSION)/util/old
	tar czvf ming-$(MING_VERSION).tar.gz ming-$(MING_VERSION)
	rm -rf ming-$(MING_VERSION)
