Makefile
1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
OBSPROJECT = isv:spb:v4
#############################################################################
packages = $(shell basename -s .spec */*.spec)
obsdir = .obs
-include .config.mk
all:
@echo "Usage:"
@echo
@for pkg in $(packages); do printf 'make %-20s # uploads %s.spec to obs\n' $$pkg $$pkg; done
checkout_packages = $(patsubst %, %-checkout, $(packages))
build_packages = $(patsubst %, %-build, $(packages))
upload_packages = $(patsubst %, %-upload, $(packages))
diff_packages = $(patsubst %, %-diff, $(packages))
.PHONY: $(checkout_packages) $(build_packages) $(upload_packages) $(diff_packages)
checkout-all: $(checkout_packages)
build-all: $(build_packages)
$(checkout_packages): %-checkout : %
mkdir -p $(obsdir)
[ -d $(obsdir)/$(OBSPROJECT)/$* ] && \
(cd $(obsdir)/$(OBSPROJECT)/$* && osc update) || \
(cd $(obsdir) && osc checkout $(OBSPROJECT) $*)
$(build_packages): %-build : %
mkdir -p ~/rpmbuild/SOURCES
cp $(obsdir)/$(OBSPROJECT)/$*/*.tar.* ~/rpmbuild/SOURCES/
cp $*/*.patch ~/rpmbuild/SOURCES/ || true
cd $* && $(BUILD_PREFIX) rpmbuild -bb $*.spec
$(upload_packages): %-upload : %-checkout
$(MAKE) $*-diff
@printf "Confirm upload? [y/N] "; read confirm; test "$$confirm" = y -o "$$confirm" = Y
cp $*/* $(obsdir)/$(OBSPROJECT)/$*
(cd $(obsdir)/$(OBSPROJECT)/$*; osc add *; osc commit -m "update $*")
$(diff_packages): %-diff : %
@git diff --no-index $(obsdir)/$(OBSPROJECT)/$*/$*.spec $*/$*.spec || true
diff: $(diff_packages)
status st:
@$(MAKE) diff | diffstat -C