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 50 51 52
|
unpack: $(unpack-stamp)
$(unpack-stamp): $(addprefix $(unpack-stamp)-,$(tarball))
mkdir -p $(@D)
touch $@
$(unpack-stamp)-%:
test -d $(stampdir) || mkdir $(stampdir)
if ! test -z "$(tarball)" ; then \
$(RM) -r $(srcdir) ; \
case $(tarball) in \
*.bz2) tar -x --bzip2 -f $(tarpath);; \
*.gz) tar -x --gzip -f $(tarpath);; \
*.lzma) lzcat $(tarpath) | tar -x -f -;; \
*) false;; \
esac ; \
fi
$(call $(PKGSOURCE)_extra_unpack)
touch $@
patches := $(foreach patchdir,$(patchdirs),$(wildcard $(patchdir)/*.patch))
patches_rev := # nothing
$(foreach patch,$(patches),$(eval patches_rev := $(patch) $(patches_rev)))
patch: $(patch-stamp)
$(patch-stamp): $(unpack-stamp)
test -d $(stampdir)/patches || mkdir -p $(stampdir)/patches
cd $(srcdir) && for patch in $(patches) ; do \
if ! test -f $(stampdir)/patches/$$(echo $$patch | tr "/" "_") ; \
then echo "Applying patch: $$patch" && patch -p1 < $$patch && \
touch $(stampdir)/patches/$$(echo $$patch | tr "/" "_") ; \
echo ; \
fi ; \
done
touch $@
unpatch:
test -d $(stampdir)/patches || mkdir -p $(stampdir)/patches
test -z "$(tarball)" || (test -d $(srcdir) || mkdir $(srcdir))
cd $(srcdir) && for patch in $(patches_rev) ; do \
if test -f $(stampdir)/patches/$$(echo $$patch | tr "/" "_") ; \
then echo "Reverting patch: $$patch" && patch -p1 -R < $$patch && \
$(RM) $(stampdir)/patches/$$(echo $$patch | tr "/" "_") ; \
echo ; \
fi ; \
done
$(RM) -r $(stampdir)/patches
$(RM) $(patch-stamp)
clean: unpatch
.PHONY: clean unpack patch unpatch
|