Merge branch 'sg/prompt-svn-remote-fix'
[gitweb.git] / contrib / mw-to-git / Makefile
index 3ed728b0efa4b9c121385a37dd6d1edb4cb7726b..f206f9655b4c078c66cb885fd079c4a7b95f7949 100644 (file)
@@ -1,47 +1,52 @@
 #
-# Copyright (C) 2012
-#     Charles Roussel <charles.roussel@ensimag.imag.fr>
-#     Simon Cathebras <simon.cathebras@ensimag.imag.fr>
-#     Julien Khayat <julien.khayat@ensimag.imag.fr>
-#     Guillaume Sasdy <guillaume.sasdy@ensimag.imag.fr>
-#     Simon Perrat <simon.perrat@ensimag.imag.fr>
+# Copyright (C) 2013
+#     Matthieu Moy <Matthieu.Moy@imag.fr>
 #
-## Build git-remote-mediawiki
+# To build and test:
+#
+#   make
+#   bin-wrapper/git mw preview Some_page.mw
+#   bin-wrapper/git clone mediawiki::http://example.com/wiki/
+#
+# To install, run Git's toplevel 'make install' then run:
+#
+#   make install
 
--include ../../config.mak.autogen
--include ../../config.mak
+GIT_MEDIAWIKI_PM=Git/Mediawiki.pm
+SCRIPT_PERL=git-remote-mediawiki.perl
+SCRIPT_PERL+=git-mw.perl
+GIT_ROOT_DIR=../..
+HERE=contrib/mw-to-git/
 
-ifndef PERL_PATH
-       PERL_PATH = /usr/bin/perl
-endif
-ifndef gitexecdir
-       gitexecdir = $(shell git --exec-path)
-endif
+SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
+INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
+                -s --no-print-directory instlibdir)
 
-PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
-gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
-SCRIPT = git-remote-mediawiki
+all: build
 
-.PHONY: install help doc test clean
+test: all
+       $(MAKE) -C t
 
-help:
-       @echo 'This is the help target of the Makefile. Current configuration:'
-       @echo '  gitexecdir = $(gitexecdir_SQ)'
-       @echo '  PERL_PATH = $(PERL_PATH_SQ)'
-       @echo 'Run "$(MAKE) install" to install $(SCRIPT) in gitexecdir'
-       @echo 'Run "$(MAKE) test" to run the testsuite'
+check: perlcritic test
 
-install:
-       sed -e '1s|#!.*/perl|#!$(PERL_PATH_SQ)|' $(SCRIPT) \
-               > '$(gitexecdir_SQ)/$(SCRIPT)'
-       chmod +x '$(gitexecdir)/$(SCRIPT)'
+install_pm:
+       install $(GIT_MEDIAWIKI_PM) $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM)
 
-doc:
-       @echo 'Sorry, "make doc" is not implemented yet for $(SCRIPT)'
+build:
+       $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
+                build-perl-script
 
-test:
-       $(MAKE) -C t/ test
+install: install_pm
+       $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
+                install-perl-script
 
 clean:
-       $(RM) '$(gitexecdir)/$(SCRIPT)'
-       $(MAKE) -C t/ clean
+       $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
+                clean-perl-script
+       rm $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM)
+
+perlcritic:
+       perlcritic -5 $(SCRIPT_PERL)
+       -perlcritic -2 $(SCRIPT_PERL)
+
+.PHONY: all test check install_pm install clean perlcritic