UPLOAD_SH = $(MODDIR)/devutil/scripts/upload.sh ifeq ($(RPM_PROJECT),) RPM_PROJECT = $(PROJECT) endif RPM_VERSION := $(shell cat VERSION | sed -e s'/-dev//') 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 PCKG_ROOT = $(FTP_PCKG_DIR)/$(RPM_PROJECT) CURRENT_SRC = $(PCKG_ROOT)/src/$(PCKG_TAR) CURRENT_RPM_RUN_I386 = $(PCKG_ROOT)/rpm/run/$(PCKG_RPM_RUN_I386) CURRENT_RPM_DEVEL_I386 = $(PCKG_ROOT)/rpm/devel/$(PCKG_RPM_DEVEL_I386) CURRENT_RPM_SRC = $(PCKG_ROOT)/rpm/src/$(PCKG_RPM_SRC) REMOTE_TARGET_PREFIX = rsync_ssh://$(FTP_HOST_LOGIN)@$(FTP_HOST):/usr/local/ftp REMOTE_TARGETS = \ $(REMOTE_TARGET_PREFIX)$(CURRENT_SRC):640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \ $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_SRC:640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \ $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_RUN_I386):640:750:$(FTP_RUN_USER).$(FTP_RUN_GROUP)\ $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_RUN_I386:640:750:$(FTP_RUN_USER).$(FTP_RUN_GROUP) \ $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_DEVEL_I386):640:750:$(FTP_DEV_USER).$(FTP_DEV_GROUP) \ $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_DEVEL_I386:640:750:$(FTP_DEV_USER).$(FTP_DEV_GROUP) \ $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_SRC):640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \ $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_SRC:640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) 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) clean.dist: rm -rf $(DIST_SRC_DIR) $(DIST_FILE_TAR) rsync_ssh\://% ftp\://% scp\://%: make $(shell echo $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) | sed 's/:.*//g') $(UPLOAD_SH) $(shell echo $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) $@ | sed 's/:.*//g') $@ 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) sh $(MKSPEC_SH) -V $(RPM_VERSION) -S $(notdir $(PCKG_TAR)) -N $(RPM_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)) %.src.rpm: %.tar.gz rpm -ts $< cp $(SRPMS_DIR)/$(notdir $@) $@ $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386): $(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) upload.dist: make $(REMOTE_TARGETS) touch $@.done