# Make rules for configuration files.
#
# $Id$

CFG		= kernel-$(VERSION)

CONFIGFILES	= \
	$(CFG)-i686.config $(CFG)-i686-debug.config \
	$(CFG)-i686-PAE.config $(CFG)-i686-PAEdebug.config \
	$(CFG)-x86_64.config $(CFG)-x86_64-debug.config \
	$(CFG)-s390x.config $(CFG)-arm.config \
	$(CFG)-ppc.config $(CFG)-ppc-smp.config \
	$(CFG)-sparc64.config  \
	$(CFG)-ppc64.config $(CFG)-ppc64-debug.config \
	$(CFG)-ia64.config

PLATFORMS	= x86 x86_64 powerpc powerpc32 powerpc64 s390x ia64 sparc64
TEMPFILES	= $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))

configs: $(CONFIGFILES)
	@rm -f kernel-*-config
	@rm -f $(TEMPFILES)
	@rm -f temp-generic temp-*-generic temp-*-generic-tmp

# Augment the clean target to clean up our own cruft
clean ::
	@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-generic kernel-$(VERSION)*config

temp-generic: config-generic
	cat config-generic config-nodebug > temp-generic

temp-debug-generic: config-generic
	cat config-generic config-debug > temp-debug-generic

temp-x86-generic: config-x86-generic temp-generic
	perl merge.pl $^  > $@

temp-x86-debug-generic: config-x86-generic temp-debug-generic
	perl merge.pl $^  > $@

temp-x86_64-generic: config-x86_64-generic temp-generic
	perl merge.pl $^  > $@

temp-x86_64-debug-generic: config-x86_64-generic temp-debug-generic
	perl merge.pl $^  > $@

temp-sparc64-generic: config-sparc64-generic temp-generic
	perl merge.pl $^  > $@

temp-powerpc-generic: config-powerpc-generic temp-generic
	perl merge.pl $^  > $@

temp-powerpc-debug-generic: config-powerpc-generic temp-debug-generic
	perl merge.pl $^  > $@

temp-powerpc32-generic: config-powerpc32-generic temp-powerpc-generic
	perl merge.pl $^  > $@

temp-s390-generic: config-s390x temp-generic
	perl merge.pl $^ > $@

temp-ia64-generic: config-ia64-generic temp-generic
	perl merge.pl $^ > $@

kernel-$(VERSION)-i686-PAE.config: config-i686-PAE temp-x86-generic
	perl merge.pl $^ i386 > $@

kernel-$(VERSION)-i686-PAEdebug.config: config-i686-PAE temp-x86-debug-generic
	perl merge.pl $^ i386 > $@

kernel-$(VERSION)-i686.config: /dev/null temp-x86-generic
	perl merge.pl $^ i386 > $@

kernel-$(VERSION)-i686-debug.config: /dev/null temp-x86-debug-generic
	perl merge.pl $^ i386 > $@

kernel-$(VERSION)-x86_64.config: /dev/null temp-x86_64-generic
	perl merge.pl $^ x86_64 > $@

kernel-$(VERSION)-x86_64-debug.config: /dev/null temp-x86_64-debug-generic
	perl merge.pl $^ x86_64 > $@

kernel-$(VERSION)-sparc64.config: /dev/null temp-sparc64-generic
	perl merge.pl $^ sparc64 > $@

kernel-$(VERSION)-ppc64.config: config-powerpc64 temp-powerpc-generic
	perl merge.pl $^ powerpc > $@

kernel-$(VERSION)-ppc64-debug.config: config-powerpc64 temp-powerpc-debug-generic
	perl merge.pl $^ powerpc > $@

kernel-$(VERSION)-s390x.config: config-s390x temp-s390-generic
	perl merge.pl $^ s390 > $@

kernel-$(VERSION)-arm.config: config-arm temp-generic
	perl merge.pl $^ arm > $@

kernel-$(VERSION)-ppc.config: /dev/null temp-powerpc32-generic
	perl merge.pl $^ powerpc > $@

kernel-$(VERSION)-ppc-smp.config: config-powerpc32-smp temp-powerpc32-generic
	perl merge.pl $^ powerpc > $@

kernel-$(VERSION)-ia64.config: /dev/null temp-ia64-generic
	perl merge.pl $^ ia64 > $@
