[csw-devel] SF.net SVN: gar:[6093] csw/mgar/pkg/cpan/Makefile
skayser at users.sourceforge.net
skayser at users.sourceforge.net
Sun Aug 23 23:57:46 CEST 2009
Revision: 6093
http://gar.svn.sourceforge.net/gar/?rev=6093&view=rev
Author: skayser
Date: 2009-08-23 21:57:46 +0000 (Sun, 23 Aug 2009)
Log Message:
-----------
cpan/Makefile: Adjust newpkg-% target to prefill GARNAME, PACKAGES, CATALOGNAME
Modified Paths:
--------------
csw/mgar/pkg/cpan/Makefile
Modified: csw/mgar/pkg/cpan/Makefile
===================================================================
--- csw/mgar/pkg/cpan/Makefile 2009-08-23 21:50:45 UTC (rev 6092)
+++ csw/mgar/pkg/cpan/Makefile 2009-08-23 21:57:46 UTC (rev 6093)
@@ -26,9 +26,17 @@
$(MAKE) -C $$i $* || echo " *** make $* in $$i failed ***" >> $(BUILDLOG); \
done
+lcase = $(shell echo $(1) | tr '[A-Z]' '[a-z]' )
+
+# You can either use "gmake newpkg-Perl-Module" or "gmake newpkg-Perl::Module".
+# Ideally this would also figure out the AUTHOR by querying CPAN. Alternatively
+# we might think about dropping the AUTHOR field and determine that on the fly
+# during the build. Ideas?
+newpkg-%: catalogname = $(shell echo $(call lcase,$*) | tr -d ':-' )
+newpkg-%: dir = $(subst ::,-,$*)
newpkg-%:
- @svn mkdir $* $*/tags $*/branches $*/trunk $*/trunk/files
- @(echo "GARNAME = Type-Package"; \
+ @svn mkdir $(dir) $(dir)/tags $(dir)/branches $(dir)/trunk $(dir)/trunk/files
+ @(echo "GARNAME = $(dir)"; \
echo "GARVERSION = 1.0"; \
echo "CATEGORIES = cpan"; \
echo "AUTHOR = MYSELF"; \
@@ -38,19 +46,19 @@
echo " Long description"; \
echo "endef"; \
echo ""; \
- echo "PACKAGES = CSWpmmymodule"; \
- echo "CATALOGNAME = pm_mymodule"; \
+ echo "PACKAGES = CSWpm$(catalogname)"; \
+ echo "CATALOGNAME = pm_$(catalogname)"; \
+ echo ""; \
echo "include gar/category.mk"; \
- ) > $*/trunk/Makefile
- @touch $*/trunk/checksums
- @svn add $*/trunk/Makefile $*/trunk/checksums
- @echo "cookies\ndownload\nwork\n" | svn propset svn:ignore -F /dev/fd/0 $*/trunk
- @echo "gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2" | svn propset svn:externals -F /dev/fd/0 $*/trunk
+ ) > $(dir)/trunk/Makefile
+ @touch $(dir)/trunk/checksums
+ @svn add $(dir)/trunk/Makefile $(dir)/trunk/checksums
+ @echo "cookies\ndownload\nwork\n" | svn propset svn:ignore -F /dev/fd/0 $(dir)/trunk
+ @echo "gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2" | svn propset svn:externals -F /dev/fd/0 $(dir)/trunk
@if [ -d ../../gar/v2 ]; then \
- ln -s ../../../../gar/v2 $*/trunk/gar; \
+ ln -s ../../../../gar/v2 $(dir)/trunk/gar; \
else \
- svn co https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2 $*/trunk/gar; \
+ svn co https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2 $(dir)/trunk/gar; \
fi
@echo
- @echo "Your package is set up for editing at $*/trunk"
-
+ @echo "Your package is set up for editing at $(dir)/trunk"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list