File: unpack.mk

package info (click to toggle)
llvm 2.6-9.1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 57,604 kB
  • ctags: 44,336
  • sloc: cpp: 344,766; sh: 12,407; ansic: 10,617; ada: 3,070; ml: 2,505; perl: 2,496; makefile: 1,426; pascal: 1,163; exp: 389; asm: 307; python: 298; objc: 260; lisp: 182; csh: 117; xml: 38; f90: 36; tcl: 20
file content (52 lines) | stat: -rw-r--r-- 1,590 bytes parent folder | download
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