From 50848e9d9831bf52de04bf0d5fe2fdcaf19f8d46 Mon Sep 17 00:00:00 2001 From: Martin Stubenschrott Date: Mon, 4 Feb 2008 16:10:27 +0000 Subject: [PATCH] changed make system to allow easy development of muttator, also added first muttator specific file to the repository --- Makefile | 192 +------------------------------------------ Makefile.common | 155 ++++++++++++++++++++++++++++++++++ chrome.manifest | 1 + content/muttator.xul | 179 ++++++++++++++++++++++++++++++++++++++++ install.rdf | 2 +- 5 files changed, 338 insertions(+), 191 deletions(-) create mode 100644 Makefile.common create mode 100644 content/muttator.xul diff --git a/Makefile b/Makefile index c039a59f..e2f7cdd1 100644 --- a/Makefile +++ b/Makefile @@ -1,194 +1,6 @@ #### configuration -TOP = $(shell pwd) - VERSION = 0.6pre -OS = $(shell uname -s) -BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S") - -DOC_SRC_FILES = $(wildcard locale/*/*.txt) -DOC_FILES = ${DOC_SRC_FILES:%.txt=%.html} - -JAR_TXT_FILES = ${shell find content skin locale \ - -type f \ - -a ! -path '*CVS*' \ - -a \( \ - -path '*.js' \ - -o -path '*.css' \ - -o -path '*.xul' \ - -o -path '*.html' \ - \) \ - } -JAR_DIRS = $(foreach f,${JAR_FILES},$(dir $f)) -JAR_BIN_FILES = ${shell find content skin \ - -type f \ - -a ! -path '*CVS*' \ - -a -path '*.png' \ - } -JAR_FILES = ${JAR_BIN_FILES} ${JAR_TXT_FILES} ${DOC_FILES} -JAR = chrome/vimperator.jar - -XPI_TXT_FILES = install.rdf chrome.manifest TODO AUTHORS Donators NEWS -XPI_DIRS = $(foreach f,${XPI_FILES},$(dir $f)) -XPI_BIN_FILES = ${JAR} Makefile -XPI_FILES = ${XPI_BIN_FILES} ${XPI_TXT_FILES} -XPI_NAME = vimperator_${VERSION}.xpi -XPI = ../downloads/${XPI_NAME} - -RDF = ../downloads/update.rdf -RDF_IN = ${RDF}.in - -BUILD_DIR = build.${VERSION}.${OS} -BUILD_JAR_DIR = ${BUILD_DIR}/jar -BUILD_XPI_DIR = ${BUILD_DIR}/xpi - -BUILD_JAR_SUBDIRS = $(sort ${JAR_DIRS:%=${BUILD_JAR_DIR}/%}) -BUILD_XPI_SUBDIRS = $(sort ${XPI_DIRS:%=${BUILD_XPI_DIR}/%}) - -ASCIIDOC = asciidoc -ZIP = zip -SED = sed - -# find the vimperator chrome dir - -ifeq (${OS},Darwin) -FIREFOX_DEFAULT = $(wildcard ${HOME}/Library/Application\ Support/Firefox/Profiles/*default) -else -ifeq ($(findstring CYGWIN,${OS}),CYGWIN) -HOME = $(shell cygpath -sm "${USERPROFILE}") -FIREFOX_DEFAULT = $(wildcard ${HOME}/Application\ Data/Mozilla/Firefox/Profiles/*default) -else -FIREFOX_DEFAULT = $(wildcard ${HOME}/.mozilla/firefox/*.default) -endif -endif - -VIMPERATOR_CHROME_EMAIL = ${FIREFOX_DEFAULT}/extensions/vimperator@mozdev.org/chrome/ -FOUND_CHROME_UUID = $(dir $(wildcard ${FIREFOX_DEFAULT}/extensions/{*-*-*-*-*}/chrome/vimperator.jar)) -FOUND_CHROME_EMAIL = $(dir $(wildcard ${VIMPERATOR_CHROME_EMAIL})) -FOUND_CHROME = $(if ${FOUND_CHROME_UUID},${FOUND_CHROME_UUID},${FOUND_CHROME_EMAIL}) -INSTALL_CHROME = $(if ${FOUND_CHROME},${FOUND_CHROME},${VIMPERATOR_CHROME_EMAIL}) - -# specify V=1 on make line to see more verbose output -Q=$(if ${V},,@) -CP_V=$(if ${V},-v) - -#### rules - -.PHONY: all help info needs_chrome_dir doc jar xpi install clean distclean -all: help - -help: - @echo "vimperator ${VERSION} build" - @echo - @echo " make help - display this help" - @echo " make info - show some info about the system" - @echo " make doc - build doc files" - @echo " make jar - build a JAR (${JAR})" - @echo " make install - install into your firefox dir (run info)" - @echo " make xpi - build an XPI (${XPI_NAME})" - @echo " make release - updates update.rdf (this is not for you)" - @echo " make clean - clean up" - @echo " make distclean - clean up more" - @echo - @echo "running some commands with V=1 will show more build details" - -info: - @echo "version ${VERSION}" - @echo "release file ${XPI}" - @echo "doc files ${DOC_SRC_FILES}" - @echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )" - @test -d "${FIREFOX_DEFAULT}" || ( echo "E: didn't find your .mozilla/firefox/*.default/ dir" ; false ) - @echo "firefox default ${FIREFOX_DEFAULT}" - @test -d "${FOUND_CHROME}" || ( echo "E: didn't find an existing vimperator chrome dir" ; false ) - @[ -n "${FOUND_CHROME_UUID}" ] && \ - echo "vimperator chrome ${FOUND_CHROME_UUID}" || true - @[ -n "${FOUND_CHROME_EMAIL}" ] && \ - echo "vimperator chrome ${FOUND_CHROME_EMAIL}" || true - @[ -z "${FOUND_CHROME_UUID}" -o -z "${FOUND_CHROME_EMAIL}" ] || \ - (echo "E: you have multiple vimperator's installed, you need to fix that" ; false) - -needs_chrome_dir: - @echo "Checking chrome dir..." - -${Q}mkdir -p "${INSTALL_CHROME}" - ${Q}test -d "${INSTALL_CHROME}" - -doc: ${DOC_FILES} -xpi: ${XPI} -jar: ${JAR} - -install: needs_chrome_dir ${JAR} - @echo "Installing JAR..." - ${Q}cp ${CP_V} ${JAR} "${INSTALL_CHROME}" - -release: ${XPI} ${RDF} - -${RDF}: ${RDF_IN} Makefile - @echo "Preparing release..." - ${Q}${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ - < $< > $@ - @echo "SUCCESS: $@" - -clean: - @echo "Cleanup..." - ${Q}rm -f ${JAR} ${XPI} - ${Q}find . -name '*~' -exec rm -f {} \; - -distclean: clean - @echo "More cleanup..." - ${Q}rm -f ${DOC_FILES} - ${Q}rm -rf ${BUILD_DIR} - -#### xpi - -${BUILD_XPI_SUBDIRS}: - ${Q}mkdir -p $@ - -${XPI}: ${BUILD_XPI_SUBDIRS} ${XPI_FILES} - @echo "Building XPI..." - ${Q}mkdir -p $(dir ${XPI}) - ${Q}for f in ${XPI_BIN_FILES} ; do \ - cp $$f ${BUILD_XPI_DIR}/$$f ; \ - done - ${Q}for f in ${XPI_TXT_FILES} ; do \ - ${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ - < $$f > ${BUILD_XPI_DIR}/$$f ; \ - ( diff -q $$f ${BUILD_XPI_DIR}/$$f 1>/dev/null ) || \ - ( echo "modified: $$f" ; \ - diff -u $$f ${BUILD_XPI_DIR}/$$f | grep '^[-+][^-+]' ) ; \ - done - # FIXME: VERSION and DATE tokens not replaced - ${Q}${SED} -e 's,\(skin\|content\|locale/.*\)/$$,jar:chrome/vimperator.jar!/\1/,' \ - < chrome.manifest > ${BUILD_XPI_DIR}/chrome.manifest - ${Q}( cd ${BUILD_XPI_DIR} && ${ZIP} -r ${TOP}/${XPI} ${XPI_FILES} ) - @echo "SUCCESS: $@" - -#### jar - -${BUILD_JAR_SUBDIRS}: - ${Q}mkdir -p $@ - -${JAR}: ${BUILD_JAR_SUBDIRS} ${JAR_FILES} - @echo "Building JAR..." - ${Q}mkdir -p $(dir ${JAR}) - ${Q}for f in ${JAR_BIN_FILES} ; do \ - cp $$f ${BUILD_JAR_DIR}/$$f ; \ - done - ${Q}for f in ${JAR_TXT_FILES} ; do \ - ${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ - < $$f > ${BUILD_JAR_DIR}/$$f ; \ - ( diff -q $$f ${BUILD_JAR_DIR}/$$f 1>/dev/null ) || \ - ( echo "modified: $$f" ; \ - diff -u $$f ${BUILD_JAR_DIR}/$$f | grep '^[-+][^-+]' ) ; \ - done - ${Q}( cd ${BUILD_JAR_DIR} && ${ZIP} -r ${TOP}/${JAR} ${JAR_FILES} ) - @echo "SUCCESS: $@" - -#### doc - -${DOC_FILES}: %.html: %.txt Makefile locale/en-US/asciidoc.conf - @echo "DOC $@" - ${Q}${ASCIIDOC} --unsafe -a linkcss -o $@ $< +NAME = vimperator +include Makefile.common diff --git a/Makefile.common b/Makefile.common new file mode 100644 index 00000000..717e7a7e --- /dev/null +++ b/Makefile.common @@ -0,0 +1,155 @@ +#### configuration + +TOP = $(shell pwd) +OS = $(shell uname -s) +BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S") + +DOC_SRC_FILES = $(wildcard locale/*/*.txt) +DOC_FILES = ${DOC_SRC_FILES:%.txt=%.html} + +# TODO: specify source files manually? +JAR_TXT_FILES = ${shell find content skin locale \ + -type f \ + -a ! -path '*CVS*' \ + -a \( \ + -path '*.js' \ + -o -path '*.css' \ + -o -path '*.xul' \ + -o -path '*.html' \ + \) \ + } +JAR_DIRS = $(foreach f,${JAR_FILES},$(dir $f)) +JAR_BIN_FILES = ${shell find content skin \ + -type f \ + -a ! -path '*CVS*' \ + -a -path '*.png' \ + } +JAR_FILES = ${JAR_BIN_FILES} ${JAR_TXT_FILES} ${DOC_FILES} +JAR = chrome/${NAME}.jar + +XPI_TXT_FILES = install.rdf chrome.manifest TODO AUTHORS Donators NEWS +XPI_DIRS = $(foreach f,${XPI_FILES},$(dir $f)) +XPI_BIN_FILES = ${JAR} Makefile.common Makefile +XPI_FILES = ${XPI_BIN_FILES} ${XPI_TXT_FILES} +XPI_NAME = ${NAME}_${VERSION}.xpi +XPI = ../downloads/${XPI_NAME} + +RDF = ../downloads/update.rdf +RDF_IN = ${RDF}.in + +BUILD_DIR = build.${VERSION}.${OS} +BUILD_JAR_DIR = ${BUILD_DIR}/jar +BUILD_XPI_DIR = ${BUILD_DIR}/xpi + +BUILD_JAR_SUBDIRS = $(sort ${JAR_DIRS:%=${BUILD_JAR_DIR}/%}) +BUILD_XPI_SUBDIRS = $(sort ${XPI_DIRS:%=${BUILD_XPI_DIR}/%}) + +ASCIIDOC = asciidoc +ZIP = zip +SED = sed + +# specify V=1 on make line to see more verbose output +Q=$(if ${V},,@) +CP_V=$(if ${V},-v) + +#### rules + +.PHONY: all help info doc jar xpi install clean distclean +all: help + +help: + @echo "${NAME} ${VERSION} build" + @echo + @echo " make help - display this help" + @echo " make info - show some info about the system" + @echo " make doc - build doc files" + @echo " make jar - build a JAR (${JAR})" + @echo " make xpi - build an XPI (${XPI_NAME})" + @echo " make release - updates update.rdf (this is not for you)" + @echo " make clean - clean up" + @echo " make distclean - clean up more" + @echo + @echo "running some commands with V=1 will show more build details" + +info: + @echo "version ${VERSION}" + @echo "release file ${XPI}" + @echo "doc files ${DOC_SRC_FILES}" + @echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )" + +doc: ${DOC_FILES} +xpi: ${XPI} +jar: ${JAR} + +release: ${XPI} ${RDF} + +${RDF}: ${RDF_IN} Makefile + @echo "Preparing release..." + ${Q}${SED} -e "s,###VERSION###,${VERSION},g" \ + -e "s,###DATE###,${BUILD_DATE},g" \ + < $< > $@ + @echo "SUCCESS: $@" + +clean: + @echo "Cleanup..." + ${Q}rm -f ${JAR} ${XPI} + ${Q}find . -name '*~' -exec rm -f {} \; + +distclean: clean + @echo "More cleanup..." + ${Q}rm -f ${DOC_FILES} + ${Q}rm -rf ${BUILD_DIR} + +#### xpi + +${BUILD_XPI_SUBDIRS}: + ${Q}mkdir -p $@ + +${XPI}: ${BUILD_XPI_SUBDIRS} ${XPI_FILES} + @echo "Building XPI..." + ${Q}mkdir -p $(dir ${XPI}) + ${Q}for f in ${XPI_BIN_FILES} ; do \ + cp $$f ${BUILD_XPI_DIR}/$$f ; \ + done + ${Q}for f in ${XPI_TXT_FILES} ; do \ + ${SED} -e "s,###VERSION###,${VERSION},g" \ + -e "s,###DATE###,${BUILD_DATE},g" \ + < $$f > ${BUILD_XPI_DIR}/$$f ; \ + ( diff -q $$f ${BUILD_XPI_DIR}/$$f 1>/dev/null ) || \ + ( echo "modified: $$f" ; \ + diff -u $$f ${BUILD_XPI_DIR}/$$f | grep '^[-+][^-+]' ) ; \ + done + # FIXME: VERSION and DATE tokens not replaced + ${Q}${SED} -e 's,\(skin\|content\|locale/.*\)/$$,jar:chrome/${NAME}.jar!/\1/,' \ + < chrome.manifest > ${BUILD_XPI_DIR}/chrome.manifest + ${Q}( cd ${BUILD_XPI_DIR} && ${ZIP} -r ${TOP}/${XPI} ${XPI_FILES} ) + @echo "SUCCESS: $@" + +#### jar + +${BUILD_JAR_SUBDIRS}: + ${Q}mkdir -p $@ + +${JAR}: ${BUILD_JAR_SUBDIRS} ${JAR_FILES} + @echo "Building JAR..." + ${Q}mkdir -p $(dir ${JAR}) + ${Q}for f in ${JAR_BIN_FILES} ; do \ + cp $$f ${BUILD_JAR_DIR}/$$f ; \ + done + ${Q}for f in ${JAR_TXT_FILES} ; do \ + ${SED} -e "s,###VERSION###,${VERSION},g" \ + -e "s,###DATE###,${BUILD_DATE},g" \ + < $$f > ${BUILD_JAR_DIR}/$$f ; \ + ( diff -q $$f ${BUILD_JAR_DIR}/$$f 1>/dev/null ) || \ + ( echo "modified: $$f" ; \ + diff -u $$f ${BUILD_JAR_DIR}/$$f | grep '^[-+][^-+]' ) ; \ + done + ${Q}( cd ${BUILD_JAR_DIR} && ${ZIP} -r ${TOP}/${JAR} ${JAR_FILES} ) + @echo "SUCCESS: $@" + +#### doc + +${DOC_FILES}: %.html: %.txt Makefile.common locale/en-US/asciidoc.conf + @echo "DOC $@" + ${Q}${ASCIIDOC} --unsafe -a linkcss -o $@ $< + diff --git a/chrome.manifest b/chrome.manifest index 591c43da..75423120 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -1,3 +1,4 @@ +# Firefox content vimperator content/ locale vimperator en-US locale/en-US/ skin vimperator classic/1.0 skin/ diff --git a/content/muttator.xul b/content/muttator.xul new file mode 100644 index 00000000..242d83ee --- /dev/null +++ b/content/muttator.xul @@ -0,0 +1,179 @@ + + + + + + + + + +