[BACK]Return to Makefile CVS log [TXT][DIR] Up to [Development] / xfs-linux

File: [Development] / xfs-linux / Makefile (download)

Revision 1.35, Wed Jan 17 05:10:14 2001 UTC (16 years, 9 months ago) by tduffy
Branch: MAIN
Changes since 1.34: +9 -32 lines

fixed build to be a little more sane about kernels -- also works under redhat 6.2 now since it does not use bash2isms which are not in /bin/sh under redhat 6.2 (arg)

#
# Top-level Makefile for slinx
#

WORKAREA ?= `pwd`

ARCH := $(shell uname -m | sed -e s/i.86/i386/)
KERN_SPEC = kernel-2.4.spec
KERNEL_VERSION = 2.4.0

SGI_VERSION = `cat $(WORKAREA)/SPECS/_sgi_kvers_`

COMMANDS = cmd/attr cmd/xfsprogs cmd/xfsdump cmd/acl
# COMMANDS += cmd/dmapi
COMMANDRPMS = attr attr-devel xfsprogs xfsprogs-devel xfsdump acl acl-devel
# COMMANDRPMS += dmapi dmapi-devel

default all: checkproc tarballs kernel cmds

checkproc:
	if [ ! -e /proc/stat ]; then \
		mount /proc; \
	fi

tarballs: xfs-cmds
	@echo "=== Making $@ `date`"; \
	cd $(WORKAREA)/SCRIPTS; \
	./make-tarballs; \
	for d in $(COMMANDS); do \
		cp $(WORKAREA)/$$d/build/*.src.tar.gz $(WORKAREA)/SOURCES; \
	done

kernel:
	@echo "=== Making $@ `date`";
	rpm -ba --target=$(ARCH) $(WORKAREA)/SPECS/${KERN_SPEC};
ifeq ($(ARCH),i386)
	rpm -ba --target=i586 $(WORKAREA)/SPECS/${KERN_SPEC};
	rpm -ba --target=i686 $(WORKAREA)/SPECS/${KERN_SPEC};
endif
	echo "=== Done Making $@ `date`";

cmds: xfs-cmds
	[ ! -d $(WORKAREA)/SRPMS ] \
		&& mkdir $(WORKAREA)/SRPMS || exit 0
	cp $(WORKAREA)/cmd/xfs/build/rpm/xfs-cmds-*.src.rpm $(WORKAREA)/SRPMS
	[ ! -d $(WORKAREA)/RPMS/$(ARCH) ] \
		&& mkdir -p $(WORKAREA)/RPMS/$(ARCH) || exit 0
	cp $(WORKAREA)/cmd/xfs/build/rpm/xfs-cmds-*.$(ARCH).rpm \
			$(WORKAREA)/RPMS/$(ARCH)

xfs-cmds:
	echo "=== Making $@ `date`"
	for d in $(COMMANDS); do \
		( cd $(WORKAREA)/$$d && ./Makepkgs verbose ) || exit 1; \
		( rpm -Uh $(WORKAREA)/$$d/build/rpm/*.$(ARCH).rpm ) || exit 1; \
	done
	[ -d $(WORKAREA)/SRPMS ] || mkdir $(WORKAREA)/SRPMS
	for d in $(COMMANDS); do \
		( cd $(WORKAREA) && cp $$d/build/rpm/*.src.rpm SRPMS ) \
	done
	[ -d $(WORKAREA)/RPMS/$(ARCH) ] || mkdir -p $(WORKAREA)/RPMS/$(ARCH)
	for d in $(COMMANDS); do \
		( cd $(WORKAREA) && cp $$d/build/rpm/*.$(ARCH).rpm RPMS/$(ARCH) ) \
	done

clean:
	rm -rf RPMS SRPMS BUILD SOURCES/linux-${KERNEL_VERSION}-xfs.patch
	for d in $(COMMANDS); do \
		( cd $(WORKAREA)/$$d && make clean ) \
	done
	for d in $(COMMANDRPMS); do \
		( rpm -e --nodeps --noscripts $$d >/dev/null 2>&1 || exit 0 ) \
	done

realclean: clean
	rm -rf linux-${KERNEL_VERSION}
	rm -f kern
	rm -f SOURCES/linux-${KERNEL_VERSION}.tar.bz2
	if [ -e SPECS/${KERN_SPEC}.old ] ; then \
		rm SPECS/${KERN_SPEC}; \
		mv SPECS/${KERN_SPEC}.old SPECS/${KERN_SPEC}; \
	fi
	for d in $(COMMANDRPMS); do rm -f SOURCES/$$d-*; done
	for d in $(COMMANDS); do ( cd $(WORKAREA)/$$d && make realclean ) done