forked from github/kensanata.oddmuse
175 lines
6.1 KiB
Makefile
175 lines
6.1 KiB
Makefile
# The Makefile is only for developpers wanting to prepare the tarball.
|
|
# Make sure the CVS keywords for the sed command on the next line are not expanded.
|
|
|
|
VERSION_NO=$(shell git describe --tags)
|
|
TRANSLATIONS=$(wildcard modules/translations/[a-z]*.pl$)
|
|
MODULES=$(wildcard modules/*.pl)
|
|
BUILD=build/wiki.pl $(foreach file, $(notdir $(MODULES)) $(notdir $(TRANSLATIONS)), build/$(file))
|
|
|
|
# PREPARE/BUILD: this creates copies of wiki.pl and all the modules
|
|
# and translations in the build subdirectory. These copies all contain
|
|
# a reference to the revision they were created from (git describe
|
|
# --tags).
|
|
|
|
prepare: build $(BUILD)
|
|
|
|
build:
|
|
mkdir -p build
|
|
|
|
clean:
|
|
rm -rf build
|
|
|
|
build/wiki.pl: wiki.pl
|
|
perl -lne "s/(\\\$$q->a\({-href=>'http:\/\/www.oddmuse.org\/'}, 'Oddmuse'\))/\\\$$q->a({-href=>'http:\/\/git.savannah.gnu.org\/cgit\/oddmuse.git\/tag\/?id=$(VERSION_NO)'}, 'wiki.pl') . ' ($(VERSION_NO)), see ' . \$$1/; print" < $< > $@
|
|
|
|
build/%-utf8.pl: modules/translations/%-utf8.pl
|
|
perl -lne "s/(AddModuleDescription\('[^']+', '[^']+')\)/\$$1, 'translations\/', '$(VERSION_NO)')/; print" < $< > $@
|
|
|
|
build/national-%.pl: modules/translations/national-%.pl
|
|
perl -lne "s/(AddModuleDescription\('[^']+', '[^']+')\)/\$$1, 'translations\/', '$(VERSION_NO)')/; print" < $< > $@
|
|
|
|
build/month-names-%.pl: modules/translations/month-names-%.pl
|
|
perl -lne "s/(AddModuleDescription\('[^']+', '[^']+')\)/\$$1, 'translations\/', '$(VERSION_NO)')/; print" < $< > $@
|
|
|
|
# from: http://git.savannah.gnu.org/cgit/oddmuse.git/tree/modules/namespaces.pl
|
|
# to: http://git.savannah.gnu.org/cgit/oddmuse.git/tree/modules/namespaces.pl?id=2.1-11-gd4f1e27
|
|
|
|
build/%.pl: modules/%.pl
|
|
perl -lne "s/(AddModuleDescription\('[^']+', '[^']+')\)/\$$1, undef, '$(VERSION_NO)')/; print" < $< > $@
|
|
|
|
translations: $(TRANSLATIONS)
|
|
for f in $^; do \
|
|
echo updating $$f...; \
|
|
perl oddtrans -l $$f wiki.pl $(MODULES) > $$f-new && mv $$f-new $$f; \
|
|
done
|
|
|
|
test:
|
|
prove t
|
|
|
|
# UNTESTED/OBSOLETE: these targets have not been tested in a long time
|
|
# and are potentially obsolete.
|
|
VERSION=oddmuse-$(VERSION_NO)
|
|
UPLOADVERSION=oddmuse-inkscape-$(VERSION_NO)
|
|
INKSCAPE=GPL $(wildcard inkscape/*.py inkscape/*.inx inkscape/*.sh)
|
|
PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
|
|
DIST=$(VERSION).tar.gz $(VERSION).tar.gz.sig \
|
|
contrib/simple-install/$(VERSION)-simple.tar.gz \
|
|
contrib/simple-install/$(VERSION)-simple.tar.gz.sig
|
|
OLDDIST=$(VERSION).dmg $(VERSION).dmg.sig \
|
|
$(VERSION).tgz $(VERSION).tgz.sig
|
|
PWD=$(shell pwd)
|
|
|
|
dist: $(DIST)
|
|
|
|
upload: $(DIST)
|
|
for f in $^; do \
|
|
scp $$f as@dl.sv.nongnu.org:/releases/oddmuse/; \
|
|
done
|
|
|
|
upload-text: new-utf8.pl
|
|
wikiupload new-utf8.pl http://www.oddmuse.org/cgi-bin/oddmuse-en/New_Translation_File
|
|
|
|
contrib/simple-install/$(VERSION)-simple.tar.gz:
|
|
cd contrib/simple-install && make $(VERSION)-simple.tar.gz
|
|
|
|
$(VERSION).tar.gz: README FDL GPL ChangeLog wiki.pl $(TRANSLATIONS) $(MODULES) current.pl
|
|
rm -rf $(VERSION)
|
|
mkdir $(VERSION)
|
|
cp $^ $(VERSION)
|
|
tar czf $@ $(VERSION)
|
|
|
|
$(UPLOADVERSION).tar.gz: $(INKSCAPE)
|
|
rm -rf $(UPLOADVERSION)
|
|
mkdir $(UPLOADVERSION)
|
|
cp $^ $(UPLOADVERSION)
|
|
cp wikiupload $(UPLOADVERSION)/oddmuse-upload.py
|
|
tar czf $@ $(UPLOADVERSION)
|
|
|
|
%.sig: %
|
|
gpg --sign -b $<
|
|
|
|
# OSX: .pkg is the package, and .dmg is the disk image.
|
|
|
|
# Make sure to copy the files into a new directory so that the CVS
|
|
#subdirectory are not inlcuded in the .pkg. And fix permissions. Skip
|
|
#if we can't run PackageMaker. All cp commands need sudo because on a
|
|
#second run the directories will already exist.
|
|
$(VERSION).pkg: wiki.pl modules/creole.pl Mac/config Mac/wiki
|
|
if test -x $(PACKAGEMAKER); then \
|
|
mkdir -p Mac/pkg/CGI-Executables; \
|
|
sudo cp wiki.pl Mac/pkg/CGI-Executables/current; \
|
|
sudo cp Mac/wiki Mac/pkg/CGI-Executables/wiki; \
|
|
sudo chown -R root:admin Mac/pkg/CGI-Executables; \
|
|
sudo chmod 644 Mac/pkg/CGI-Executables/current; \
|
|
sudo chmod 755 Mac/pkg/CGI-Executables/wiki; \
|
|
mkdir -p Mac/pkg/Oddmuse; \
|
|
sudo cp Mac/config Mac/pkg/Oddmuse; \
|
|
sudo chown www:admin Mac/pkg/Oddmuse; \
|
|
sudo chmod 775 Mac/pkg/Oddmuse; \
|
|
sudo chown root:admin Mac/pkg/Oddmuse/config; \
|
|
sudo chmod 664 Mac/pkg/Oddmuse/config; \
|
|
mkdir -p Mac/pkg/Oddmuse/modules; \
|
|
sudo cp modules/mac.pl Mac/pkg/Oddmuse/modules; \
|
|
sudo cp modules/creole.pl Mac/pkg/Oddmuse/modules; \
|
|
sudo chown -R root:admin Mac/pkg/Oddmuse/modules; \
|
|
sudo chmod 775 Mac/pkg/Oddmuse/modules; \
|
|
sudo chmod 644 Mac/pkg/Oddmuse/modules/*; \
|
|
$(PACKAGEMAKER) -build \
|
|
-p $(PWD)/$@ \
|
|
-i $(PWD)/Mac/Info.plist \
|
|
-d $(PWD)/Mac/Description.plist \
|
|
-f $(PWD)/Mac/pkg; \
|
|
fi;
|
|
|
|
$(VERSION).dmg: $(VERSION).pkg
|
|
hdiutil create -srcfolder $< -fs HFS+ -volname "Oddmuse" $@
|
|
|
|
# Slackware: .tgz are .tar.gz files used by the installer
|
|
# Slackware webserver is run by nobody uid/gid 99/99.
|
|
|
|
$(VERSION).tgz: wiki.pl modules/creole.pl Mac/config Mac/wiki
|
|
sudo rm -rf Slack/var Slack/install
|
|
mkdir -p Slack/var/www/wiki/modules
|
|
mkdir -p Slack/var/www/cgi-bin
|
|
mkdir -p Slack/install
|
|
sudo cp Mac/config Slack/var/www/wiki
|
|
sudo cp Mac/wiki Slack/var/www/cgi-bin
|
|
sudo cp README Slack/var/www/wiki
|
|
sudo cp modules/creole.pl Slack/var/www/wiki/modules
|
|
sudo cp wiki.pl Slack/var/www/cgi-bin/current
|
|
sudo sed -e 's/VERSION/$(VERSION_NO)/' < Slack/slack-desc > Slack/install/slack-desc
|
|
sudo chown -R 0:0 Slack/var Slack/install
|
|
sudo chgrp 99 Slack/var/www/cgi-bin/wiki
|
|
sudo chmod 644 Slack/var/www/cgi-bin/current
|
|
sudo chmod 775 Slack/var/www/cgi-bin/wiki
|
|
cd Slack && tar czf ../$@ var install
|
|
|
|
update-translations: $(TRANSLATIONS)
|
|
|
|
upload-translations: always
|
|
for f in $(TRANSLATIONS); do \
|
|
cvs status $$f | grep 'Status: Up-to-date'; \
|
|
wikiput -z "ham" -u "cvs" -s "update" \
|
|
"http://www.oddmuse.org/cgi-bin/oddmuse/raw/$$f" < $$f; \
|
|
done
|
|
|
|
deb:
|
|
equivs-build control
|
|
|
|
install:
|
|
@echo This only installs the deb file, not the script itself.
|
|
dpkg -i oddmuse*.deb
|
|
|
|
package-upload: debian-$(VERSION).tar.gz debian-$(VERSION).tar.gz.sig
|
|
curl -T "{debian-$(VERSION).tar.gz,debian-$(VERSION).tar.gz.sig}" \
|
|
ftp://savannah.gnu.org/incoming/savannah/oddmuse/
|
|
|
|
package: debian-$(VERSION).tar.gz
|
|
gpg --ascii --encrypt $<
|
|
|
|
debian-$(VERSION).tar.gz:
|
|
rm -rf $(VERSION)
|
|
mkdir $(VERSION)
|
|
cp README FDL GPL wiki.pl $(VERSION)
|
|
tar czf $@ $(VERSION)
|