~ubuntu-branches/ubuntu/oneiric/tuxguitar/oneiric

« back to all changes in this revision

Viewing changes to TuxGuitar-alsa/GNUmakefile

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2008-06-19 00:30:30 UTC
  • mto: (5.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20080619003030-h719szrhsngou7c6
Tags: upstream-1.0
ImportĀ upstreamĀ versionĀ 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/make -f
 
2
# -*- makefile -*-
 
3
#ident "$Id: GNUmakefile,v 1.10 2008/04/17 20:06:34 rzr Exp $"
 
4
#@author: created by www.philippe.coval.online.fr -- revision: $Author: rzr $
 
5
#licence: LGPL
 
6
#------------------------------------------------------------------------------
 
7
PACKAGE?=tuxguitar-alsa
 
8
LIBRARY?=lib${PACKAGE}.so
 
9
LIBRARY_JNI?=lib${PACKAGE}-jni.so
 
10
LIBRARY_PROVIDER?=org.herac.tuxguitar.player.impl.midiport.alsa.MidiPortProviderPlugin
 
11
 
 
12
PREFIX?=/usr
 
13
 
 
14
# dependencies
 
15
SWT_PATH?=/usr/share/java/swt.jar
 
16
 
 
17
# tuxguitar paths
 
18
TG_SERVICE_CLASS?=org.herac.tuxguitar.gui.system.plugins.TGPlugin
 
19
TG_PREFIX?=${PREFIX}
 
20
TG_SOURCE_PATH?=${TG_PREFIX}/src
 
21
TG_LIBRARY_PATH?=${TG_PREFIX}/lib
 
22
TG_LIBRARY_PATH_JNI?=${TG_PREFIX}/lib/jni
 
23
TG_NATIVE_PLUGINS_PATH?=${TG_PREFIX}/share/tuxguitar/plugins
 
24
 
 
25
# install paths
 
26
INSTALL_LIBRARY_JNI_DIR?=${TG_LIBRARY_PATH_JNI}
 
27
INSTALL_LIBRARY_DIR?=${TG_NATIVE_PLUGINS_PATH}
 
28
INSTALL_SERVICE_DIR?=${TG_NATIVE_PLUGINS_PATH}/${PACKAGE}/META-INF/services
 
29
 
 
30
# build paths
 
31
JAVA_SOURCE_PATH?=./src/
 
32
JAVA_SOURCES?=$(shell find ${JAVA_SOURCE_PATH} -name "*.java")
 
33
JAVA_OBJECTS?=${JAVA_SOURCES:%.java=%.o}
 
34
JNI_SOURCE_PATH?=./jni/
 
35
JNI_SOURCES?=$(shell find ${JNI_SOURCE_PATH} -name "*.c")
 
36
JNI_OBJECTS?=${JNI_SOURCES:%.c=%.o}
 
37
 
 
38
GCJ?=gcj
 
39
GCJFLAGS+=-fjni -I${JAVA_SOURCE_PATH} -I${TG_SOURCE_PATH} -I${SWT_PATH} 
 
40
 
 
41
CC=gcc
 
42
CFLAGS=-fPIC -I $(shell ${GCJ} -print-file-name=include/)
 
43
 
 
44
 
 
45
default: all
 
46
 
 
47
all: objects library library_jni meta-inf
 
48
 
 
49
objects: tmp.classes.tmp
 
50
 
 
51
tmp.classes.tmp: ${JAVA_OBJECTS}
 
52
        @touch $@
 
53
 
 
54
library: ${LIBRARY}
 
55
 
 
56
library_jni: ${LIBRARY_JNI}
 
57
 
 
58
install:
 
59
        -install -d $(DESTDIR)${PREFIX}/
 
60
        -install -d $(DESTDIR)${INSTALL_LIBRARY_DIR}/
 
61
        -install -d $(DESTDIR)${INSTALL_LIBRARY_JNI_DIR}/
 
62
        -install -d $(DESTDIR)${INSTALL_SERVICE_DIR}/
 
63
        -install ${LIBRARY} $(DESTDIR)${INSTALL_LIBRARY_DIR}/${LIBRARY}
 
64
        -install ${LIBRARY_JNI} $(DESTDIR)${INSTALL_LIBRARY_JNI_DIR}/${LIBRARY_JNI}
 
65
        -install ${TG_SERVICE_CLASS} $(DESTDIR)${INSTALL_SERVICE_DIR}/${TG_SERVICE_CLASS}
 
66
 
 
67
uninstall:
 
68
        -rm $(DESTDIR)${INSTALL_LIBRARY_DIR}/${LIBRARY}
 
69
        -rm $(DESTDIR)${INSTALL_LIBRARY_JNI_DIR}/${LIBRARY_JNI}
 
70
        -rm $(DESTDIR)${INSTALL_SERVICE_DIR}/${TG_SERVICE_CLASS}
 
71
 
 
72
clean:
 
73
        -@find . -name "*.o" -exec rm -f {} \; > /dev/null 2>&1
 
74
        -@find . -name "*.so" -exec rm -f {} \; > /dev/null 2>&1
 
75
        -@find . -name "*.tmp" -exec rm -f {} \; > /dev/null 2>&1
 
76
        -@rm ${TG_SERVICE_CLASS}
 
77
 
 
78
%.o: %.java
 
79
        ${GCJ} ${GCJFLAGS} -c -o $@ $<
 
80
 
 
81
%.o: %.c
 
82
        ${CC} ${CFLAGS} -c -o $@ $<
 
83
 
 
84
%.so: ${JAVA_OBJECTS}
 
85
        ${GCJ} -shared -o $@ -ltuxguitar -L${TG_LIBRARY_PATH} $^
 
86
 
 
87
${LIBRARY_JNI}: ${JNI_OBJECTS}
 
88
        ${GCJ} -shared -o $@ -lasound -lpthread $^
 
89
 
 
90
meta-inf:
 
91
        echo ${LIBRARY_PROVIDER} > ${TG_SERVICE_CLASS}
 
92
 
 
93
#eof "$Id: GNUmakefile,v 1.10 2008/04/17 20:06:34 rzr Exp $"