# # 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