gunnar: server Makefile,1.93,1.94

cvs at kolab.org cvs at kolab.org
Mon Jan 18 12:02:18 CET 2010


Author: gunnar

Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv25629

Modified Files:
	Makefile 
Log Message:
Reorganized Makefile for the different package types and some general cleanup.

The dist target should work again. The webclient is currently not part of that target as it still needs to be cleaned up.

The new build system is in place nearly everywhere now. Only the kolab source packages (perl-kolab, kolabd, kolab-webadmin) remain as broken as before.
Except for these packages a make dist should now only build the packages that actually had changes.

Index: Makefile
===================================================================
RCS file: /kolabrepository/server/Makefile,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- Makefile	17 Jan 2010 13:30:57 -0000	1.93
+++ Makefile	18 Jan 2010 11:02:16 -0000	1.94
@@ -20,8 +20,56 @@
 KOLAB_PACKAGES=perl-kolab              \
                kolabd                  \
                kolab-webadmin          \
-               kolab-webclient         \
-               kolab-fbview            \
+
+PEAR_CHANNEL_PACKAGES=                       \
+               pear/PEAR-Horde-Channel       \
+               pear/PEAR-PHPUnit-Channel     \
+
+PEAR_ONLY_PACKAGES=                     \
+               pear/PEAR-Auth_SASL      \
+               pear/PEAR-Cache          \
+               pear/PEAR-Console_Table  \
+               pear/PEAR-DB             \
+               pear/PEAR-Date           \
+               pear/PEAR-Date_Holidays  \
+               pear/PEAR-Date_Holidays_Austria          \
+               pear/PEAR-Date_Holidays_Brazil           \
+               pear/PEAR-Date_Holidays_Denmark          \
+               pear/PEAR-Date_Holidays_Discordian       \
+               pear/PEAR-Date_Holidays_EnglandWales     \
+               pear/PEAR-Date_Holidays_Germany          \
+               pear/PEAR-Date_Holidays_Iceland          \
+               pear/PEAR-Date_Holidays_Ireland          \
+               pear/PEAR-Date_Holidays_Italy            \
+               pear/PEAR-Date_Holidays_Japan            \
+               pear/PEAR-Date_Holidays_Netherlands      \
+               pear/PEAR-Date_Holidays_Norway           \
+               pear/PEAR-Date_Holidays_Romania          \
+               pear/PEAR-Date_Holidays_Slovenia         \
+               pear/PEAR-Date_Holidays_Sweden           \
+               pear/PEAR-Date_Holidays_UNO              \
+               pear/PEAR-Date_Holidays_USA              \
+               pear/PEAR-Date_Holidays_Ukraine          \
+               pear/PEAR-File_Find      \
+               pear/PEAR-HTTP_Request   \
+               pear/PEAR-Log            \
+               pear/PEAR-Mail           \
+               pear/PEAR-Mail_mimeDecode \
+               pear/PEAR-Mail_Mime      \
+               pear/PEAR-Net_DIME       \
+               pear/PEAR-Net_LDAP       \
+               pear/PEAR-Net_LDAP2      \
+               pear/PEAR-Net_LMTP       \
+               pear/PEAR-Net_SMTP       \
+               pear/PEAR-Net_Sieve      \
+               pear/PEAR-Net_Socket     \
+               pear/PEAR-Net_URL        \
+               pear/PEAR-SOAP           \
+               pear/PEAR-Services_Weather \
+               pear/PEAR-XML_Parser     \
+               pear/PEAR-XML_Serializer \
+               pear/PEAR-XML_Util       \
+               pear/PHPUnit
 
 PEAR_HORDE_PACKAGES=                    \
                pear/Horde_Alarm         \
@@ -83,52 +131,6 @@
                pear/Horde_Yaml          \
                pear/Horde_iCalendar
 
-PEAR_ONLY_PACKAGES=                     \
-               pear/PEAR-Auth_SASL      \
-               pear/PEAR-Cache          \
-               pear/PEAR-Console_Table  \
-               pear/PEAR-DB             \
-               pear/PEAR-Date           \
-               pear/PEAR-Date_Holidays  \
-               pear/PEAR-Date_Holidays_Austria          \
-               pear/PEAR-Date_Holidays_Brazil           \
-               pear/PEAR-Date_Holidays_Denmark          \
-               pear/PEAR-Date_Holidays_Discordian       \
-               pear/PEAR-Date_Holidays_EnglandWales     \
-               pear/PEAR-Date_Holidays_Germany          \
-               pear/PEAR-Date_Holidays_Iceland          \
-               pear/PEAR-Date_Holidays_Ireland          \
-               pear/PEAR-Date_Holidays_Italy            \
-               pear/PEAR-Date_Holidays_Japan            \
-               pear/PEAR-Date_Holidays_Netherlands      \
-               pear/PEAR-Date_Holidays_Norway           \
-               pear/PEAR-Date_Holidays_Romania          \
-               pear/PEAR-Date_Holidays_Slovenia         \
-               pear/PEAR-Date_Holidays_Sweden           \
-               pear/PEAR-Date_Holidays_UNO              \
-               pear/PEAR-Date_Holidays_USA              \
-               pear/PEAR-Date_Holidays_Ukraine          \
-               pear/PEAR-File_Find      \
-               pear/PEAR-HTTP_Request   \
-               pear/PEAR-Log            \
-               pear/PEAR-Mail           \
-               pear/PEAR-Mail_mimeDecode \
-               pear/PEAR-Mail_Mime      \
-               pear/PEAR-Net_DIME       \
-               pear/PEAR-Net_LDAP       \
-               pear/PEAR-Net_LDAP2      \
-               pear/PEAR-Net_LMTP       \
-               pear/PEAR-Net_SMTP       \
-               pear/PEAR-Net_Sieve      \
-               pear/PEAR-Net_Socket     \
-               pear/PEAR-Net_URL        \
-               pear/PEAR-SOAP           \
-               pear/PEAR-Services_Weather \
-               pear/PEAR-XML_Parser     \
-               pear/PEAR-XML_Serializer \
-               pear/PEAR-XML_Util       \
-               pear/PHPUnit
-
 PEAR_KOLAB_PACKAGES=                    \
                php-kolab/Kolab_Filter   \
                php-kolab/Kolab_Format   \
@@ -136,14 +138,13 @@
                php-kolab/Kolab_Server   \
                php-kolab/Kolab_Storage
 
-PEAR_CHANNEL_PACKAGES=                       \
-               pear/PEAR-Horde-Channel       \
-               pear/PEAR-PHPUnit-Channel     \
-
-PEAR_PACKAGES= $(PEAR_ONLY_PACKAGES)         \
-               $(PEAR_KOLAB_PACKAGES)        \
+PEAR_PACKAGES= $(PEAR_CHANNEL_PACKAGES)      \
+               $(PEAR_ONLY_PACKAGES)         \
                $(PEAR_HORDE_PACKAGES)        \
-               $(PEAR_CHANNEL_PACKAGES)      \
+               $(PEAR_KOLAB_PACKAGES)        \
+
+CLIENT_PACKAGES=kolab-webclient        \
+                kolab-fbview           \
 
 BASE_FILES=install-kolab.sh \
            1st.README
@@ -184,126 +185,244 @@
 
 # The core target that builds the server packages.
 .PHONY: dist
-dist: dist-stage dist-base kolab pear files
+dist: dist-base dist-pear-channel dist-kolab dist-pear-only dist-pear-horde dist-pear-kolab files
 
 # Clean up all directories.
 .PHONY: clean
-clean: clean-base clean-kolab clean-pear clean-stage
+clean: clean-base clean-pear-channel clean-kolab clean-pear-only clean-pear-horde clean-pear-kolab clean-stage
 	find . | grep "~$$" | xargs rm -rf
 
-############
+####################
 # BASE START
-############
+####################
 # Sub targets for our basic Kolab Server packages.
+
 .PHONY: fetch-base
-fetch-base:
-	for PKG in $(BASE_PACKAGES);             \
-	do                                            \
-	  make -C $$PKG fetch || exit $$?;            \
-	done
+fetch-base: $(BASE_PACKAGES:%=fetch-%)
 
-.PHONY: dist-base
-dist-base: dist-stage
-	for PKG in $(BASE_PACKAGES);        \
-	do                                  \
-	  make -e -C $$PKG dist || exit $$?;\
-	done
+.PHONY: $(BASE_PACKAGES:%=fetch-%)
+$(BASE_PACKAGES:%=fetch-%):
+	make -e -C $(@:fetch-%=%) fetch
 
 .PHONY: clean-base
-clean-base:
-	for PKG in $(BASE_PACKAGES);                    \
-	do                                              \
-	  make -C $$PKG clean || exit $$?;              \
-	done
-############
+dist-base: $(BASE_PACKAGES:%=dist-%)
+
+.PHONY: $(BASE_PACKAGES:%=dist-%)
+$(BASE_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
+
+.PHONY: clean-base
+clean-base: $(BASE_PACKAGES:%=clean-%)
+
+.PHONY: $(BASE_PACKAGES:%=clean-%)
+$(BASE_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean
+
+####################
 # BASE END
-############
+####################
 
-.PHONY: kolab
-kolab: dist-stage $(PERL_MAKEFILES)
-	for PKG in $(KOLAB_PACKAGES);              \
-	do                                         \
-	  cd $$PKG && make dist || exit $$?; cd ..;\
-	done
+####################
+# KOLAB START
+####################
+# Sub targets for pear packages from pear.php.net
+
+#
+# @TODO: These packages are still unclean. kolabd and kolab-webadmin
+# do not deliver clean source archives as their configure script
+# produces platform dependent source code. The configuration should
+# only happen via configuration files and not via configure.
+#
+
+.PHONY: dist-kolab
+dist-kolab: $(PERL_MAKEFILES) $(KOLAB_PACKAGES:%=dist-%)
+
+.PHONY: $(KOLAB_PACKAGES:%=dist-%)
+$(KOLAB_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
 
 $(PERL_MAKEFILES): $(@:%=%.PL)
 	cd $(@:%/Makefile=%) && perl Makefile.PL
 
-.PHONY: horde-snapshots
-horde-snapshots:
-	for PKG in $(PEAR_HORDE_PACKAGES);              \
-	do                                              \
-	  make -C $$PKG snapshot || exit $$?;           \
-	done
+.PHONY: clean-kolab
+clean-kolab: $(KOLAB_PACKAGES:%=clean-%)
 
-.PHONY: pear
-pear: dist-stage
-	for PKG in $(PEAR_PACKAGES);                    \
-	do                                              \
-	  make -C $$PKG dist || exit $$?;               \
-	done
+.PHONY: $(KOLAB_PACKAGES:%=clean-%)
+$(KOLAB_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean_all
 
-.PHONY: pear-install
-pear-install: dist-stage
-	for PKG in $(PEAR_PACKAGES);                    \
-	do                                              \
-	  make -C $$PKG install || exit $$?;            \
-	done
+####################
+# KOLAB END
+####################
 
-.PHONY: files
-files: dist-stage
-	cp $(BASE_FILES) stage/
-	echo 'Remember to update 00INDEX.rdf and install-kolab.sh!'
+####################
+# PEAR ONLY START
+####################
+# Sub targets for pear packages from pear.php.net
 
-.PHONY: clean-kolab
-clean-kolab: $(PERL_MAKEFILES)
-	for PKG in $(KOLAB_PACKAGES);                   \
-	do                                              \
-	  make -C $$PKG clean_all || exit $$?;          \
-	done
+.PHONY: fetch-pear-only
+fetch-pear-only: $(PEAR_ONLY_PACKAGES:%=fetch-%)
 
-.PHONY: clean-pear
-clean-pear:
-	for PKG in $(PEAR_PACKAGES);                   \
-	do                                              \
-	  make -C $$PKG clean || exit $$?;              \
-	done
+.PHONY: $(PEAR_ONLY_PACKAGES:%=fetch-%)
+$(PEAR_ONLY_PACKAGES:%=fetch-%):
+	make -e -C $(@:fetch-%=%) fetch
 
-.PHONY: update
-update:
-	for UPDATE in $(UPDATES);               \
-	do                                      \
-	  make -C $$UPDATE install || exit $$?; \
-	done
+.PHONY: dist-pear-only
+dist-pear-only: $(PEAR_ONLY_PACKAGES:%=dist-%)
 
-.PHONY: fetch-pear-only
-fetch-pear-only:
-	for PKG in $(PEAR_ONLY_PACKAGES);             \
-	do                                            \
-	  make -C $$PKG fetch || exit $$?;            \
-	done
+.PHONY: $(PEAR_ONLY_PACKAGES:%=dist-%)
+$(PEAR_ONLY_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
+
+.PHONY: clean-pear-only
+clean-pear-only: $(PEAR_ONLY_PACKAGES:%=clean-%)
+
+.PHONY: $(PEAR_ONLY_PACKAGES:%=clean-%)
+$(PEAR_ONLY_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean
+
+####################
+# PEAR ONLY END
+####################
+
+####################
+# PEAR HORDE START
+####################
+# Sub targets for pear packages from pear.php.net
 
 .PHONY: fetch-pear-horde
-fetch-pear-horde:
-	for PKG in $(PEAR_HORDE_PACKAGES);            \
-	do                                            \
-	  make -C $$PKG fetch || exit $$?;            \
-	done
+fetch-pear-horde: $(PEAR_HORDE_PACKAGES:%=fetch-%)
+
+.PHONY: $(PEAR_HORDE_PACKAGES:%=fetch-%)
+$(PEAR_HORDE_PACKAGES:%=fetch-%):
+	make -e -C $(@:fetch-%=%) fetch
+
+.PHONY: dist-pear-horde
+dist-pear-horde: $(PEAR_HORDE_PACKAGES:%=dist-%)
+
+.PHONY: $(PEAR_HORDE_PACKAGES:%=dist-%)
+$(PEAR_HORDE_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
+
+.PHONY: clean-pear-horde
+clean-pear-horde: $(PEAR_HORDE_PACKAGES:%=clean-%)
+
+.PHONY: $(PEAR_HORDE_PACKAGES:%=clean-%)
+$(PEAR_HORDE_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean
+
+.PHONY: snapshot-pear-horde
+snapshot-pear-horde: $(PEAR_HORDE_PACKAGES:%=snapshot-%)
+
+.PHONY: $(PEAR_HORDE_PACKAGES:%=snapshot-%)
+$(PEAR_HORDE_PACKAGES:%=snapshot-%):
+	make -e -C $(@:snapshot-%=%) snapshot
+
+####################
+# PEAR HORDE END
+####################
+
+####################
+# PEAR KOLAB START
+####################
+# Sub targets for pear packages from pear.php.net
 
 .PHONY: fetch-pear-kolab
-fetch-pear-kolab:
-	for PKG in $(PEAR_KOLAB_PACKAGES);            \
-	do                                            \
-	  make -C $$PKG fetch || exit $$?;            \
-	done
+fetch-pear-kolab: $(PEAR_KOLAB_PACKAGES:%=fetch-%)
 
-dist-stage:
-	mkdir stage
+.PHONY: $(PEAR_KOLAB_PACKAGES:%=fetch-%)
+$(PEAR_KOLAB_PACKAGES:%=fetch-%):
+	make -e -C $(@:fetch-%=%) fetch
+
+.PHONY: dist-pear-kolab
+dist-pear-kolab: $(PEAR_KOLAB_PACKAGES:%=dist-%)
+
+.PHONY: $(PEAR_KOLAB_PACKAGES:%=dist-%)
+$(PEAR_KOLAB_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
+
+.PHONY: clean-pear-kolab
+clean-pear-kolab: $(PEAR_KOLAB_PACKAGES:%=clean-%)
+
+.PHONY: $(PEAR_KOLAB_PACKAGES:%=clean-%)
+$(PEAR_KOLAB_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean
+
+####################
+# PEAR KOLAB END
+####################
+
+####################
+# PEAR CHANNEL START
+####################
+# Sub targets for pear packages from pear.php.net
+
+.PHONY: dist-pear-channel
+dist-pear-channel: $(PEAR_CHANNEL_PACKAGES:%=dist-%)
+
+.PHONY: $(PEAR_CHANNEL_PACKAGES:%=dist-%)
+$(PEAR_CHANNEL_PACKAGES:%=dist-%):
+	make -e -C $(@:dist-%=%) dist
+
+.PHONY: clean-pear-channel
+clean-pear-channel: $(PEAR_CHANNEL_PACKAGES:%=clean-%)
+
+.PHONY: $(PEAR_CHANNEL_PACKAGES:%=clean-%)
+$(PEAR_CHANNEL_PACKAGES:%=clean-%):
+	make -e -C $(@:clean-%=%) clean
+
+####################
+# PEAR CHANNEL END
+####################
+
+####################
+# STAGING START
+####################
+# Sub targets for the package staging area.
+
+stage:
+	mkdir -p stage
 
 .PHONY: clean-stage
 clean-stage:
 	rm -rf stage
 
+.PHONY: files
+files: stage
+	cp $(BASE_FILES) stage/
+	echo 'Remember to update 00INDEX.rdf and install-kolab.sh!'
+
+####################
+# STAGING END
+####################
+
+####################
+# UPDATE START
+####################
+# Sub targets for updating an installed server to the packages
+# generated from CVS.
+
+#
+# @TODO: Needs to be completed
+#
+
+.PHONY: update
+update: dist
+
+####################
+# UPDATE END
+####################
+
+####################
+# TESTING START
+####################
+# Sub targets for running test scripts on the server.
+#
+
+#
+# @TODO: Warning: Does not work yet! Needs to be completed.
+#
+
 .PHONY: test
 test:
 	@for TEST in $(PHPUNIT_TESTS); \
@@ -318,9 +437,6 @@
 	  fi;                          \
 	done
 
-.PHONY: snapshots
-snapshots:
-	for PKG in pear/Horde_*; \
-	do \
-	  make -C $$PKG snapshot; \
-	done
+####################
+# TESTING END
+####################





More information about the commits mailing list