jw-pkg/make/rpmdist.mk
Jan Lindemann e2861fe97c rpmdist.mk: Allow predefining some variables
- Add MKSPEC_SH definition
- Replace = by ?= here and there
2007-06-16 17:55:39 +00:00

87 lines
2.6 KiB
Makefile

MKSPEC_SH ?= $(MOD_SCRIPT_DIR)/mkspec_wrapper.sh $(TOPDIR)/make/mkspec.sh
RPM_PROJECT ?= $(PROJECT)
RPM_VERSION ?= $(VERSION)
include $(MODDIR)/make/tag-defs.mk
CLEAN += $(wildcard *.spec *.rpm *~ *.rpmrc *.dist .*.swp)
DIST_SRC_DIR = dist/src/$(RPM_PROJECT)-$(RPM_VERSION)
DIST_PCKG_DIR = dist/pckg
PCKG_TAR ?= $(RPM_PROJECT)-$(RPM_VERSION).tar.gz
PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run-$(RPM_VERSION).i386.rpm
PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel-$(RPM_VERSION).i386.rpm
PCKG_RPM_SRC ?= $(RPM_PROJECT)-$(RPM_VERSION).src.rpm
RPM_VERSION ?= $(VERSION)
include $(MODDIR)/make/upload-defs.mk
DIST_FILES = $(shell echo $(REMOTE_TARGETS) | sed 's/\b.*\///g; s/:.*\b//g')
RPMS_DIR = /usr/src/packages/RPMS/i386
SRPMS_DIR = /usr/src/packages/SRPMS
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
DIST_PCKG_RPM = $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386)
include $(MODDIR)/make/tag-rules.mk
include $(MODDIR)/make/upload-rules.mk
rpmclean:
rm -rf $(DIST_SRC_DIR) $(PCKG_TAR) *.dist
cpmod.dist:
for mod in $(SUBDIRS); do \
make -C $$mod distclean ;\
mkdir -p $(DIST_SRC_DIR)/$$mod ;\
tar -C $$mod \
--exclude=dist \
--exclude=pckg \
--exclude=Debug \
--exclude=CVS \
--exclude=old \
--exclude=v1.1 \
--exclude='*.o' \
--exclude='*~' \
--exclude=xml-flat \
--exclude=contrib \
-cf - . | tar -C $(DIST_SRC_DIR)/$$mod -xf - ;\
done
touch $@
cpfiles.dist:
mkdir -p $(DIST_SRC_DIR)
cp Makefile $(DIST_SRC_DIR)
cp configure.ac.tmpl $(DIST_SRC_DIR)
sh $(MKSPEC_SH) -V $(RPM_VERSION) -S $(notdir $(PCKG_TAR)) -N $(RPM_PROJECT) -R "$(RPM_REQUIRED)" \
-P $(PROJECT) \
> $(DIST_SRC_DIR)/$(RPM_PROJECT)-$(RPM_VERSION).spec
echo $(RPM_VERSION) > $(DIST_SRC_DIR)/VERSION
touch $@
%.tar.gz: cpfiles.dist cpmod.dist
mkdir -p $(DIST_PCKG_DIR)
tar -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR)) \
$(addprefix --exclude=,$(patsubst %,"%",$(basename $(shell find . -name *.in | sed 's%\./%*/%; s%\(.*\)%\1%g'))))
%.src.rpm: %.tar.gz
rpm -ts $<
cp $(SRPMS_DIR)/$(notdir $@) $@
$(DIST_PCKG_RPM): $(DIST_PCKG_DIR)/$(PCKG_TAR)
if [ $< -nt $(RPMS_DIR)/$(notdir $@) ]; then rpm -tb $<; fi
cp $(RPMS_DIR)/$(notdir $@) $@
$(DIST_PCKG_DIR)/CURRENT_%: $(TOPDIR)/VERSION
echo $(CURRENT_$*) > $@
build.dist: $(DIST_FILES)
rpminstall.dist: $(DIST_PCKG_RPM)
sudo /bin/rpm -U $<
touch $@
tgz: $(PCKG_TAR)
distclean: rpmclean
clean: rpmclean
ftag: ftag.dist