# Generated automatically from Makefile.in by configure.
# This file is part of Java-GNOME.
#
# Java-GNOME is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# Java-GNOME is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Java-GNOME; see the file COPYING.  If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
# This is the main Makefile

version=0.5.0

top_srcdir=.
srcdir=.

# Directories for configure.  Will remove the redundant ones when we know where
# to install the files.
prefix=/usr
exec_prefix=${prefix}
datadir=${prefix}/share
bindir=${exec_prefix}/bin
includedir=${prefix}/include
infodir=${prefix}/info
libdir=${exec_prefix}/lib
libexecdir=${exec_prefix}/libexec
localstatedir=${prefix}/var
mandir=${prefix}/man
sharedstatedir=${prefix}/com

# Added for compatibilities sake
srcdir=.

# Install stuff
INSTALL=/usr/bin/install -c
DOCUMENTS=AUTHORS COPYING INSTALL NEWS README STATUS THANKS TODO

# The different targets dirs
DIRS=src
TEST=test

all: gtk gnome distro tests

gtk-only:
	@(test `diff src/defs/gtk.defs src/defs/gtk-original.defs | wc -l` -eq 0 && sed -e "/GNOME -/,/GNOME -/d" src/defs/gtk-original.defs > src/defs/gtk.defs) || echo -n ""
	@ grep -v "gnome.h" src/other/gtk-original_wrappers.h > src/other/gtk_wrappers.h

gtk:
	@(test `diff src/defs/gtk.defs src/defs/gtk-original.defs | wc -l` -gt 0 && cp -f src/defs/gtk-original.defs src/defs/gtk.defs) || echo -n ""
	@ cp -f src/other/gtk-original_wrappers.h src/other/gtk_wrappers.h

gnome:
	

distro:
	$(MAKE) -C $(DIRS) gtk gnome

tests:
	$(MAKE) -C $(TEST) gtk gnome

# Install targets
install: gtk_install

gtk_install:
	src/tools/mkinstalldirs $(libdir) $(datadir)/java-gtk/test $(prefix)/doc/java-gtk-$(version)
	$(INSTALL) -m644 lib/libGTKJava.so.$(version) $(libdir)
	@ln -s $(libdir)/libGTKJava.so.$(version) $(libdir)/libGTKJava.so
	$(INSTALL) -m644 lib/gtk-$(version).jar $(datadir)/java-gtk
	@ln -s $(datadir)/java-gtk/gtk-$(version).jar $(datadir)/java-gtk/gtk.jar
	for f in test/*.java test/*.class; do $(INSTALL) -m644 $$f $(datadir)/java-gtk/test; done
	for f in $(DOCUMENTS); do $(INSTALL) -m644 $$f $(prefix)/doc/java-gtk-$(version); done
	@cp -r doc $(prefix)/doc/java-gtk-$(version)

gnome_install:
	src/tools/mkinstalldirs $(libdir) $(datadir)/java-gnome/test $(prefix)/doc/java-gnome-$(version)
	$(INSTALL) -m644 lib/libGTKJava.so.$(version) $(libdir)
	@ln -s $(libdir)/libGTKJava.so.$(version) $(libdir)/libGTKJava.so
	$(INSTALL) -m644 lib/libGNOMEJava.so.$(version) $(libdir)
	@ln -s $(libdir)/libGNOMEJava.so.$(version) $(libdir)/libGNOMEJava.so
	$(INSTALL) -m644 lib/gtk-$(version).jar $(datadir)/java-gnome
	@ln -s $(datadir)/java-gnome/gtk-$(version).jar $(datadir)/java-gnome/gtk.jar
	$(INSTALL) -m644 lib/gnome-$(version).jar $(datadir)/java-gnome
	@ln -s $(datadir)/java-gnome/gnome-$(version).jar $(datadir)/java-gnome/gnome.jar
	for f in test/*.java test/*.class; do $(INSTALL) -m644 $$f $(datadir)/java-gnome/test; done
	for f in $(DOCUMENTS); do $(INSTALL) -m644 $$f $(prefix)/doc/java-gnome-$(version); done
	@cp -r doc $(prefix)/doc/java-gnome-$(version)

# Uninstall targets
uninstall: gtk_uninstall

gtk_uninstall:
	rm -f $(libdir)/libGTKJava.so.$(version)
	rm -f $(libdir)/libGTKJava.so
	rm -f $(datadir)/java-gtk/gtk-$(version).jar
	rm -f $(datadir)/java-gtk/gtk.jar
	rm -rf $(datadir)/java-gtk/test
	rm -rf $(datadir)/java-gtk
	rm -rf $(prefix)/doc/java-gtk-$(version)

gnome_uninstall:
	rm -f $(libdir)/libGTKJava.so.$(version)
	rm -f $(libdir)/libGTKJava.so
	rm -f $(libdir)/libGNOMEJava.so.$(version)
	rm -f $(libdir)/libGNOMEJava.so
	rm -f $(datadir)/java-gnome/gtk-$(version).jar
	rm -f $(datadir)/java-gnome/gtk.jar
	rm -f $(datadir)/java-gnome/gnome-$(version).jar
	rm -f $(datadir)/java-gnome/gnome.jar
	rm -rf $(datadir)/java-gnome/test
	rm -rf $(datadir)/java-gnome
	rm -rf $(prefix)/doc/java-gnome-$(version)

# Targets to clean up after us

.PHONY: mostlyclean clean distclean maintainer-clean

mostlyclean:
	for f in $(DIRS) $(TEST); do $(MAKE) -C $$f mostlyclean; done

clean: mostlyclean
	for f in $(DIRS) $(TEST); do $(MAKE) -C $$f clean; done
	rm -f lib/*

distclean: clean
	rm -f config.* Makefile *.spec
	for f in $(DIRS) $(TEST); do $(MAKE) -C $$f distclean; done

maintainer-clean: distclean
	for f in $(DIRS) $(TEST); do $(MAKE) -C $$f maintainer-clean; done
