diff --git a/Makefile b/Makefile index a76c4c4..69dca16 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,22 @@ packages = $(shell basename --suffix=.spec specs/*/*.spec) +checkout_packages = $(patsubst %, checkout-%, $(packages)) all: @echo "Usage:" @echo @for pkg in $(packages); do printf 'make %-20s # uploads %s.spec to obs\n' $$pkg $$pkg; done -$(packages): - @spec=$$(find specs/ -name $@.spec); \ - project=isv:spb:$$(basename $$(dirname $$spec)); \ - $(MAKE) upload package=$@ spec=$$spec project=$$project +.PHONY: $(packages) $(checkout_packages) -upload: +$(checkout_packages): mkdir -p obs - if test -d obs/$(project)/$(package); then (cd obs/$(project)/$(package) && osc update); else (cd obs && osc checkout $(project) $(package)); fi - cp $(spec) obs/$(project)/$(package)/ - cd obs/$(project)/$(package) && osc commit -m 'Update $(package)' + package=$(patsubst checkout-%,%,$@); \ + spec=$$(find specs/ -name $$package.spec); \ + project=isv:spb:$$(basename $$(dirname $$spec)); \ + if test -d obs/$$project/$$package; then (cd obs/$$project/$$package && osc update); else (cd obs && osc checkout $$project $$package); fi + +$(packages): % : checkout-% + spec=$$(find specs/ -name $@.spec); \ + project=isv:spb:$$(basename $$(dirname $$spec)); \ + cp $$spec obs/$$project/$@ && \ + cd obs/$$project/$@ && osc commit -m 'Update $@' -- libgit2 0.21.2