1#! /usr/bin/make -f
2# -*- makefile -*-
3#ident "$Id: GNUmakefile,v 1.4 2008/02/26 15:25:24 akdmia Exp $"
4#@author: created by www.philippe.coval.online.fr -- revision: $Author: akdmia $
5#licence: LGPL
6#------------------------------------------------------------------------------
7PACKAGE?=tuxguitar-gtp
8LIBRARY?=lib$(PACKAGE).so
9LIBRARY_PROVIDER?=org.herac.tuxguitar.io.gtp.GTPPluginList
10
11PREFIX?=/usr
12
13# dependencies
14SWT_PATH?=/usr/share/java/swt.jar
15
16# tuxguitar paths
17TG_SERVICE_CLASS?=org.herac.tuxguitar.gui.system.plugins.TGPlugin
18TG_PREFIX?=$(PREFIX)
19TG_SOURCE_PATH?=$(TG_PREFIX)/src
20TG_LIBRARY_PATH?=$(TG_PREFIX)/lib
21TG_NATIVE_PLUGINS_PATH?=$(TG_PREFIX)/share/tuxguitar/plugins
22
23# install paths
24INSTALL_LIBRARY_DIR?=$(TG_NATIVE_PLUGINS_PATH)
25INSTALL_SETTINGS_DIR?=$(TG_NATIVE_PLUGINS_PATH)/$(PACKAGE)/
26INSTALL_LANGUAGE_DIR?=$(TG_NATIVE_PLUGINS_PATH)/$(PACKAGE)/lang
27INSTALL_SERVICE_DIR?=$(TG_NATIVE_PLUGINS_PATH)/$(PACKAGE)/META-INF/services
28
29# resources
30LANGUAGE?=./share/lang
31SETTINGS=$(PACKAGE).cfg
32DEFAULT_SETTINGS_CHARSET?="charset=ISO-8859-15"
33
34# build paths
35SOURCE_PATH?=./src/
36SOURCES?=$(shell find $(SOURCE_PATH) -name "*.java")
37OBJECTS?=$(PACKAGE).o
38
39GCJ?=gcj
40GCJFLAGS+=-fjni -I$(SOURCE_PATH) -I$(TG_SOURCE_PATH) -I$(SWT_PATH)
41
42default: all
43
44all: objects library meta-inf settings
45
46objects: tmp.classes.tmp
47
48tmp.classes.tmp: $(OBJECTS)
49	@touch $@
50
51library: $(LIBRARY)
52
53install:
54	-install -d $(DESTDIR)$(PREFIX)/
55	-install -d $(DESTDIR)$(INSTALL_LIBRARY_DIR)/
56	-install -d $(DESTDIR)$(INSTALL_SERVICE_DIR)/
57	-install -d $(DESTDIR)$(INSTALL_SETTINGS_DIR)/
58	-install -d $(DESTDIR)$(INSTALL_LANGUAGE_DIR)/
59	-install $(LIBRARY) $(DESTDIR)$(INSTALL_LIBRARY_DIR)/$(LIBRARY)
60	-install $(LANGUAGE)/* $(DESTDIR)$(INSTALL_LANGUAGE_DIR)
61	-install $(SETTINGS) $(DESTDIR)$(INSTALL_SETTINGS_DIR)/$(SETTINGS)
62	-install $(TG_SERVICE_CLASS) $(DESTDIR)$(INSTALL_SERVICE_DIR)/$(TG_SERVICE_CLASS)
63
64uninstall:
65	-rm $(DESTDIR)$(INSTALL_LIBRARY_DIR)/$(LIBRARY)
66	-rm $(DESTDIR)$(INSTALL_SERVICE_DIR)/$(TG_SERVICE_CLASS)
67	-rm $(DESTDIR)$(INSTALL_SETTINGS_DIR)/$(SETTINGS)
68	-rm $(DESTDIR)$(INSTALL_LANGUAGE_DIR)/*
69
70clean:
71	-@find . -name "*.o" -exec rm -f {} \; > /dev/null 2>&1
72	-@find . -name "*.so" -exec rm -f {} \; > /dev/null 2>&1
73	-@find . -name "*.tmp" -exec rm -f {} \; > /dev/null 2>&1
74	-@rm $(TG_SERVICE_CLASS)
75	-@rm $(SETTINGS)
76
77$(PACKAGE).o: $(SOURCES)
78	$(GCJ) $(GCJFLAGS) -c -o $(@F) $^
79
80$(LIBRARY): $(OBJECTS)
81	${GCJ} -shared -o $@ -ltuxguitar -L$(TG_LIBRARY_PATH) $(^F)
82
83meta-inf:
84	echo $(LIBRARY_PROVIDER) > $(TG_SERVICE_CLASS)
85
86settings:
87	echo $(DEFAULT_SETTINGS_CHARSET) > $(SETTINGS)
88
89#eof "$Id: GNUmakefile,v 1.4 2008/02/26 15:25:24 akdmia Exp $"