mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 20:13:32 +01:00
126 lines
4.4 KiB
Makefile
126 lines
4.4 KiB
Makefile
UPLOAD_SH = $(MOD_SCRIPT_DIR)/upload.sh
|
|
|
|
ifeq ($(RPM_PROJECT),)
|
|
RPM_PROJECT = $(PROJECT)
|
|
endif
|
|
|
|
ifndef FTP_FILE_MODE
|
|
FTP_FILE_MODE = 640
|
|
endif
|
|
|
|
ifndef FTP_DIR_MODE
|
|
FTP_DIR_MODE = 750
|
|
endif
|
|
|
|
RPM_VERSION = $(VERSION)
|
|
TAG_VERSION = V_$(shell echo $(VERSION) | sed 's/[\.-]/_/g')
|
|
|
|
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):/home/ftp/dat
|
|
REMOTE_TARGETS = \
|
|
$(REMOTE_TARGET_PREFIX)$(CURRENT_SRC):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_SRC:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_RUN_I386):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_RUN_USER).$(FTP_RUN_GROUP)\
|
|
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_RUN_I386:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_RUN_USER).$(FTP_RUN_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_DEVEL_I386):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_DEV_USER).$(FTP_DEV_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_DEVEL_I386:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_DEV_USER).$(FTP_DEV_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_SRC):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
|
|
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_SRC:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(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)
|
|
DIST_PCKG_RPM = $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386)
|
|
|
|
rpmclean:
|
|
rm -rf $(DIST_SRC_DIR) $(PCKG_TAR) *.dist
|
|
|
|
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)
|
|
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)
|
|
|
|
upload.dist:
|
|
if [ -f configure -o -f configure.ac -o -f configure.ac.tmpl ]; then make config; fi
|
|
make $(REMOTE_TARGETS)
|
|
touch $@.done
|
|
|
|
rpminstall.dist: $(DIST_PCKG_RPM)
|
|
sudo /bin/rpm -U $<
|
|
touch $@
|
|
|
|
yupdate.%.dist:
|
|
sudo -u root /opt/ytools/bin/yupdate.sh -f $(HOME)/.yupdaterc -s $*
|
|
touch $@
|
|
|
|
tag.dist:
|
|
cvs tag $(TAG_VERSION)
|
|
|
|
ftag.dist:
|
|
cvs tag -F $(TAG_VERSION)
|
|
|
|
tgz: $(PCKG_TAR)
|
|
distclean: rpmclean
|
|
clean: rpmclean
|
|
ftag: ftag.dist
|