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

« back to all changes in this revision

Viewing changes to TuxGuitar/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.7 2008/02/29 12:55:24 akdmia Exp $"
 
4
#@author: created by www.philippe.coval.online.fr -- revision: $Author: akdmia $
 
5
#licence: LGPL
 
6
#------------------------------------------------------------------------------
 
7
OS_LIBRARY_PREFIX?=lib
 
8
OS_LIBRARY_EXTENSION?=.so
 
9
 
 
10
PACKAGE?=tuxguitar
 
11
BINARY?=$(PACKAGE).bin
 
12
LIBRARY?=$(OS_LIBRARY_PREFIX)$(PACKAGE)$(OS_LIBRARY_EXTENSION)
 
13
 
 
14
# constants
 
15
SHARE_DIR?=./share/
 
16
DOC_DIR?=./doc/
 
17
 
 
18
# dependencies
 
19
SWT_PATH?=/usr/share/java/swt.jar
 
20
 
 
21
# install
 
22
PREFIX?=/usr
 
23
TG_BINARY_PATH?=$(PREFIX)/bin
 
24
TG_LIBRARY_PATH?=$(PREFIX)/lib
 
25
TG_LIBRARY_PATH_JNI?=$(TG_LIBRARY_PATH)/jni
 
26
TG_SHARE_PATH?=$(PREFIX)/share/$(PACKAGE)
 
27
TG_DOC_PATH?=$(PREFIX)/share/doc/$(PACKAGE)
 
28
TG_NATIVE_PLUGINS_PATH?=$(TG_SHARE_PATH)/plugins
 
29
TG_NATIVE_PLUGINS_PREFIX?=$(OS_LIBRARY_PREFIX)
 
30
TG_NATIVE_PLUGINS_EXTENSION?=$(OS_LIBRARY_EXTENSION)
 
31
 
 
32
# dependencies
 
33
SWT_JAR?=$(SWT_PATH)
 
34
 
 
35
# sources
 
36
SOURCE_PATH?=./src/
 
37
SOURCES?=$(shell find $(SOURCE_PATH) -name "*.java")
 
38
RESOURCE_PATH?=./dist/
 
39
RESOURCES?=$(shell find $(RESOURCE_PATH) -name "*.dist")
 
40
DEPENDENCIES?=$(SWT_JAR)
 
41
OBJECTS?=$(SOURCES:%.java=%.o) $(RESOURCES:%.dist=%.o) $(DEPENDENCIES:%.jar=%.o)
 
42
 
 
43
# runtime
 
44
MAINCLASS?=org.herac.tuxguitar.gui.TGMain
 
45
PROPERTIES?=\
 
46
 -Djava.library.path=$(TG_LIBRARY_PATH_JNI) \
 
47
 -Djava.class.path=$(TG_SHARE_PATH) \
 
48
 -Dtuxguitar.share.path=$(TG_SHARE_PATH) \
 
49
 -Dtuxguitar.library.path=$(TG_NATIVE_PLUGINS_PATH) \
 
50
 -Dtuxguitar.library.prefix=$(TG_NATIVE_PLUGINS_PREFIX) \
 
51
 -Dtuxguitar.library.extension=$(TG_NATIVE_PLUGINS_EXTENSION) \
 
52
 
 
53
GCJ?=gcj
 
54
GCJFLAGS+=-fjni -I$(SOURCE_PATH) -I$(SWT_PATH)
 
55
LDFLAGS?=
 
56
 
 
57
default: all
 
58
 
 
59
all: objects library binary
 
60
 
 
61
objects: $(OBJECTS)
 
62
 
 
63
library: $(LIBRARY)
 
64
 
 
65
binary: $(BINARY)
 
66
 
 
67
install:
 
68
        -install -d $(DESTDIR)$(PREFIX)/
 
69
        -install -d $(DESTDIR)$(TG_BINARY_PATH)/
 
70
        -install -d $(DESTDIR)$(TG_LIBRARY_PATH)/
 
71
        -install -d $(DESTDIR)$(TG_SHARE_PATH)/
 
72
        -install -d $(DESTDIR)$(TG_DOC_PATH)/
 
73
        -install $(BINARY) $(DESTDIR)$(TG_BINARY_PATH)/$(BINARY)
 
74
        -install $(LIBRARY) $(DESTDIR)$(TG_LIBRARY_PATH)/$(LIBRARY)
 
75
        cp -rfa $(SHARE_DIR)/* $(DESTDIR)$(TG_SHARE_PATH)/
 
76
        cp -rfa $(DOC_DIR)/* $(DESTDIR)$(TG_DOC_PATH)/
 
77
 
 
78
uninstall:
 
79
        -rm $(DESTDIR)$(TG_BINARY_PATH)/$(BINARY)
 
80
        -rm $(DESTDIR)$(TG_LIBRARY_PATH)/$(LIBRARY)
 
81
 
 
82
clean:
 
83
        -@find . -name "*.o" -exec rm -f {} \; > /dev/null 2>&1
 
84
        -@find . -name "*.so" -exec rm -f {} \; > /dev/null 2>&1
 
85
        -@find . -name "*.bin" -exec rm -f {} \; > /dev/null 2>&1
 
86
        -@find . -name "*.tmp" -exec rm -f {} \; > /dev/null 2>&1
 
87
 
 
88
%.o: %.java
 
89
        $(GCJ) $(GCJFLAGS) -c -o $@ $<
 
90
 
 
91
%.o: %.jar
 
92
        $(GCJ) $(GCJFLAGS) -c -o $@ $<
 
93
 
 
94
%.o: %.dist
 
95
        $(GCJ) $(GCJFLAGS) -c -o $@ --resource $(<F) $<
 
96
 
 
97
$(LIBRARY): $(OBJECTS)
 
98
        $(GCJ) $(LDFLAGS) -shared -o $@ $^
 
99
 
 
100
$(BINARY):
 
101
        $(GCJ) -o $@ --main=$(MAINCLASS) $(PROPERTIES) -l$(PACKAGE) -L$(TG_LIBRARY_PATH) -L./