File: Makefile

package info (click to toggle)
java-gnome 4.0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 6,724 kB
  • ctags: 4,432
  • sloc: java: 15,598; ansic: 3,074; perl: 1,293; python: 1,114; makefile: 176
file content (152 lines) | stat: -rw-r--r-- 4,676 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#
# Makefile, part of Equivalence
#
# Copyright (c) 2006-2008 Operational Dynamics Consulting Pty Ltd, and Others 
# 
# The code in this file, and the library it is a part of, are made available
# to you by the authors under the terms of the "GNU General Public Licence,
# version 2". See the LICENCE file for the terms governing usage and
# redistribution.
#

ifdef V
else
MAKEFLAGS=-s
REDIRECT=>/dev/null
endif

-include .config

all: build-java

.PHONY: test demo doc clean distclean install


# --------------------------------------------------------------------
# Source compilation
# --------------------------------------------------------------------

build-java:
	build/faster

# --------------------------------------------------------------------
# Install (run as root, or specify DESTDIR on Make command line)
# --------------------------------------------------------------------

install: build-java install-dirs install-java
	rm $(DESTDIR)$(PREFIX)/.java-gnome-install-dirs

install-dirs: $(DESTDIR)$(PREFIX)/.java-gnome-install-dirs
$(DESTDIR)$(PREFIX)/.java-gnome-install-dirs:
	@test -d $(DESTDIR)$(PREFIX)/share/java || echo -e "MKDIR\tinstallation directories"
	-mkdir -p $(DESTDIR)$(PREFIX)
	-touch $@ 2>/dev/null
	test -w $@ || ( echo -e "\nYou don't seem to have write permissions to $(DESDIR)$(PREFIX)\nPerhaps you need to be root?\n" && exit 7 )
	mkdir -p $(DESTDIR)$(PREFIX)/share/java
	mkdir -p $(DESTDIR)$(LIBDIR)

install-java: build-java \
	$(DESTDIR)$(PREFIX)/share/java/gtk-$(APIVERSION).jar \
	$(DESTDIR)$(LIBDIR)/libgtkjni-$(APIVERSION).so

$(DESTDIR)$(PREFIX)/share/java/gtk-$(APIVERSION).jar: tmp/gtk-$(APIVERSION).jar
	@echo -e "INSTALL\t$@"
	cp -f $< $@
	@echo -e "SYMLINK\t$(@D)/gtk.jar -> gtk-$(APIVERSION).jar"
	cd $(@D) && rm -f gtk.jar && ln -s gtk-$(APIVERSION).jar gtk.jar
	
$(DESTDIR)$(LIBDIR)/libgtkjni-$(APIVERSION).so: tmp/libgtkjni-$(APIVERSION).so
	@echo -e "INSTALL\t$@"
	cp -f $< $@


# --------------------------------------------------------------------
# Tests
# --------------------------------------------------------------------

test:
	build/faster test

demo:
	build/faster demo

# --------------------------------------------------------------------
# Documentation generation
# --------------------------------------------------------------------

ifdef V
else
JAVADOC:=$(JAVADOC) -quiet
endif

doc:
	@echo "$(JAVADOC_CMD) doc/api/*.html"
	$(JAVADOC) \
		-d doc/api \
		-classpath tmp/bindings \
		-public \
		-nodeprecated \
		-source 1.5 \
		-notree \
		-noindex \
		-nohelp \
		-version \
		-author \
		-windowtitle "java-gnome $(APIVERSION) API Documentation" \
		-doctitle "<h1>java-gnome $(APIVERSION) API Documentation</h1>" \
		-header "java-gnome version $(VERSION)" \
		-footer "<img src=\"/images/java-gnome_JavaDocLogo.png\" style=\"padding-right:25px;\"><br> <span style=\"font-family: Arial; font-style: normal; font-size: large;\">java-gnome</span>" \
		-breakiterator \
		-stylesheetfile src/bindings/stylesheet.css \
		-overview src/bindings/overview.html \
		-sourcepath src/bindings \
		-subpackages org \
		$(REDIRECT)


#
# Remember that if you bump the version number you need to commit the change
# and re-./configure before being able to run this! On the other hand, we
# don't have to distclean before calling this.
#
dist: all
	@echo -e "CHECK\tfully committed state"
	bzr diff > /dev/null || ( echo -e "\nYou need to commit all changes before running make dist\n" ; exit 4 )
	@echo -e "EXPORT\ttmp/java-gnome-$(VERSION)"
	-rm -rf tmp/java-gnome-$(VERSION)
	bzr export --format=dir tmp/java-gnome-$(VERSION)
	@echo -e "RM\tnon essential files"
	rm -r tmp/java-gnome-$(VERSION)/lib
	rm -r tmp/java-gnome-$(VERSION)/web
	rm    tmp/java-gnome-$(VERSION)/.aspell.en.pws
	@echo -e "TAR\tjava-gnome-$(VERSION).tar.bz2"
	tar cjf java-gnome-$(VERSION).tar.bz2 -C tmp java-gnome-$(VERSION)
	rm -r tmp/java-gnome-$(VERSION)

clean:
	@echo -e "RM\tgenerated code"
	rm -rf generated/bindings/*
	@echo -e "RM\tcompiled output"
	rm -rf tmp/generator/ tmp/bindings/ tmp/tests/
	rm -rf tmp/include/ tmp/objects/
	rm -rf tmp/i18n/ tmp/locale/
	@echo -e "RM\ttemporary files"
	rm -rf tmp/stamp/
	rm -f hs_err_*
	@echo -e "RM\tbuilt .jar and .so"
	rm -f tmp/gtk-*.jar \
		tmp/libgtkjni-*.so \
		tmp/libgtkjava-*.so

distclean: clean
	@echo -e "RM\tbuild configuration information"
	-rm -f .config .config.tmp
	@echo -e "RM\tgenerated documentation"
	-rm -rf doc/api/*
	-rm -f java-gnome-*.tar.bz2
	@echo -e "RM\ttemporary directories"
	-rm -rf tmp generated
	@echo -e "RM\tglade cruft"
	find . -name '*.glade.bak' -o -name '*.gladep*' -type f | xargs rm -f

# vim: set filetype=make textwidth=78 nowrap: