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
|