File: rules

package info (click to toggle)
aspectj 1.8.9-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 39,856 kB
  • sloc: java: 499,096; xml: 26,630; sh: 537; makefile: 113
file content (153 lines) | stat: -rwxr-xr-x 5,242 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
153
#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/ant.mk

JAVA_HOME := /usr/lib/jvm/default-java

# Inject the date from the changelog in Version.java
DEB_CHANGELOG_DATETIME = $(shell dpkg-parsechangelog --show-field Date)
DEB_CHANGELOG_DATE_FORMATTED = $(shell date '--date=$(DEB_CHANGELOG_DATETIME)' +'%A %b %d, %Y at %H:%M:%S %Z')

MODULES := .
DEB_BUILDDIR = $(MODULES)/build
DEB_ANT_BUILD_TARGET = aspectj
DEB_ANT_ARGS = '-Dbuild.time=$(DEB_CHANGELOG_DATE_FORMATTED)'
DEB_JARS = xalan2 ant-junit
DEB_COMPRESS_EXCLUDE = .pdf .java .xml

MKDIR := mkdir -p
LN_S := ln -sf

AJ_SCRIPTS  := debian/ajc debian/ajbrowser debian/ajdoc debian/aj debian/aj5
AJ_MANPAGES := debian/ajc.1 debian/ajdoc.1 debian/aj.1 debian/ajbrowser.1

AJ_ANT_HOME := $(MODULES)/lib/ant
AJ_ANT_JARS := ant.jar ant-junit.jar
AJ_XML_JARS := xercesImpl.jar xml-apis.jar

AJ_JUNIT_HOME := $(MODULES)/lib/junit
AJ_JUNIT_JARS := junit.jar

AJ_COMMONS_HOME := $(MODULES)/lib/commons
AJ_COMMONS_JAR := commons-logging.jar

AJ_ECLIPSE_HOME := $(MODULES)/lib/eclipse
AJ_BCEL_HOME := $(MODULES)/lib/bcel
AJ_ASM_HOME := $(MODULES)/lib/asm
AJ_JROCKIT_HOME := $(MODULES)/lib/ext/jrockit

VERSION := $(shell echo $(DEB_UPSTREAM_VERSION) | sed 's/+dfsg//')

pre-build:: debian/stamp-bootstrap

debian/aj.1: debian/aj.sgml
	docbook-to-man $< > $@

debian/ajbrowser.1: debian/ajbrowser.sgml
	docbook-to-man $< > $@

# reuse the DocBook xml documents here to generate manpages.
debian/%.1: $(MODULES)/docs/devGuideDB/%.xml
	sh debian/manpage_from.sh $< > $@

.PHONY: bootstrap
bootstrap: debian/stamp-bootstrap

debian/stamp-bootstrap: DEB_BUILDDIR=$(CURDIR)
debian/stamp-bootstrap: DEB_ANT_BUILDFILE=$(CURDIR)/debian/bootstrap.xml
debian/stamp-bootstrap:
	# Setup symlinks: ant
	$(MKDIR) $(AJ_ANT_HOME)/lib
	for f in $(AJ_ANT_JARS) ; do \
	   $(LN_S) /usr/share/ant/lib/$$f $(AJ_ANT_HOME)/lib ; \
	done
	for f in $(AJ_XML_JARS) ; do \
	   $(LN_S) /usr/share/java/$$f $(AJ_ANT_HOME)/lib ; \
	done

	# JUnit
	$(MKDIR) $(AJ_JUNIT_HOME)
	for f in $(AJ_JUNIT_JARS) ; do \
	   $(LN_S) /usr/share/java/$$f $(AJ_JUNIT_HOME) ; \
	done

	# commons-logging
	$(MKDIR) $(AJ_COMMONS_HOME)
	$(LN_S) /usr/share/java/$(AJ_COMMONS_JAR) $(AJ_COMMONS_HOME)/commons.jar
	
	# Setup our local.properties
	cp debian/local.properties $(MODULES)/build

	# asm5
	$(MKDIR) $(AJ_ASM_HOME)
	$(LN_S) /usr/share/java/asm.jar $(AJ_ASM_HOME)/asm-5.0.4.jar
	$(LN_S) /usr/share/java/asm.jar $(AJ_ASM_HOME)/asm-5.0.4.renamed.jar

	# regexp
	$(MKDIR) lib/regexp
	$(LN_S) /usr/share/java/regexp.jar lib/regexp/regexp.jar
	
	# eclipse (JDT)
	$(MKDIR) $(AJ_ECLIPSE_HOME)
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.equinox.common_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.equinox.common.jar
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.equinox.registry_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.equinox.registry.jar
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.core.resources_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.core.resources.jar
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.core.runtime_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.core.runtime.jar
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.core.jobs_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.core.jobs.jar
	$(LN_S) /usr/lib/eclipse/plugins/org.eclipse.osgi_*.jar $(AJ_ECLIPSE_HOME)/org.eclipse.osgi.jar
	
	$(DEB_ANT_INVOKE)
	touch $@

.PHONY: clean-bootstrap
clean-bootstrap: DEB_BUILDDIR=$(CURDIR)
clean-bootstrap: DEB_ANT_BUILDFILE=$(CURDIR)/debian/bootstrap.xml
clean-bootstrap:
	$(DEB_ANT_INVOKE) clean
	rm -f debian/stamp-bootstrap

install/aspectj:: $(AJ_MANPAGES)
	for f in $(AJ_SCRIPTS) ; do \
	   dh_install $$f /usr/bin ; \
	done

install/libaspectj-java::
	mh_installpom -plibaspectj-java -e$(VERSION) $(MODULES)/build/aspectjrt.pom
	mh_installjar -plibaspectj-java -e$(VERSION) -l $(MODULES)/build/aspectjrt.pom \
		$(MODULES)/aj-build/dist/tools/lib/aspectjrt.jar
	mh_installpom -plibaspectj-java -e$(VERSION) $(MODULES)/build/aspectjtools.pom
	mh_installjar -plibaspectj-java -e$(VERSION) -l $(MODULES)/build/aspectjtools.pom \
		$(MODULES)/aj-build/dist/tools/lib/aspectjtools.jar
	mh_installpom -plibaspectj-java -e$(VERSION) $(MODULES)/build/aspectjweaver.pom
	mh_installjar -plibaspectj-java -e$(VERSION) -l $(MODULES)/build/aspectjweaver.pom \
		$(MODULES)/aj-build/dist/tools/lib/aspectjweaver.jar

install/aspectj-doc::
	mv $(MODULES)/docs/dist/doc/changes.html $(MODULES)/docs/dist/doc/changelog.html
	html2text -o $(MODULES)/docs/dist/doc/changelog.txt $(MODULES)/docs/dist/doc/changelog.html
	dh_installchangelogs $(MODULES)/docs/dist/doc/changelog.html
	dh_installchangelogs $(MODULES)/docs/dist/doc/changelog.txt

clean::
	mh_clean
	rm -Rf $(AJ_ECLIPSE_HOME)
	rm -Rf $(AJ_BOOT_HOME)/lib/aspectj*.jar
	rm -Rf $(AJ_ASM_HOME)/asm-*.jar
	rm -Rf lib/regexp
	rm -f $(DEB_BUILDDIR)/local.properties $(AJ_MANPAGES)
	rm -Rf $(AJ_COMMONS_HOME)
	rm -Rf $(AJ_JUNIT_HOME)
	rm -Rf $(AJ_ANT_HOME)
	rm -Rf $(MODULES)/aj-build
	-rm -rf debian/tmp
	rm -Rf lib/bcel/bcel.jar
	rm -Rf lib/bcel/bcel-verifier.jar
	rm -Rf bcel-builder/bin
	rm -Rf lib/bcel/*.zip
	rm -Rf org.eclipse.jdt.core/classes
	rm -Rf org.eclipse.jdt.core/jdtcore-for-aspectj.jar

.PHONY: get-orig-source
get-orig-source:
	uscan --download-current-version --rename