File: Makefile

package info (click to toggle)
netsurf 2.9-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 30,680 kB
  • sloc: ansic: 214,165; objc: 8,149; cpp: 6,873; makefile: 1,368; jsp: 1,156; perl: 1,038; asm: 288; sh: 275; python: 8
file content (132 lines) | stat: -rw-r--r-- 3,491 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/make
#
# NetSurf Source makefile for libraries and browser

export TARGET ?= gtk
export PKG_CONFIG_PATH = $(TMP_PREFIX)/lib/pkgconfig
TMP_PREFIX := $(CURDIR)/prefix-$(TARGET)

#NetSurf
NETSURF_BASE := netsurf
NETSURF_VERS := 2.9
NETSURF_TARG := $(NETSURF_BASE)-$(NETSURF_VERS)

#NetSurf libraries
LIBPARSERUTILS_BASE := libparserutils
LIBPARSERUTILS_VERS := 0.1.1
LIBPARSERUTILS_TARG := $(LIBPARSERUTILS_BASE)-$(LIBPARSERUTILS_VERS)

LIBWAPCAPLET_BASE := libwapcaplet
LIBWAPCAPLET_VERS := 0.1.1
LIBWAPCAPLET_TARG := $(LIBWAPCAPLET_BASE)-$(LIBWAPCAPLET_VERS)

LIBCSS_BASE := libcss
LIBCSS_VERS := 0.1.2
LIBCSS_TARG := $(LIBCSS_BASE)-$(LIBCSS_VERS)

LIBHUBBUB_BASE := hubbub
LIBHUBBUB_VERS := 0.1.2
LIBHUBBUB_TARG := $(LIBHUBBUB_BASE)-$(LIBHUBBUB_VERS)

LIBNSBMP_BASE := libnsbmp
LIBNSBMP_VERS := 0.0.3
LIBNSBMP_TARG := $(LIBNSBMP_BASE)-$(LIBNSBMP_VERS)

LIBNSGIF_BASE := libnsgif
LIBNSGIF_VERS := 0.0.3
LIBNSGIF_TARG := $(LIBNSGIF_BASE)-$(LIBNSGIF_VERS)

LIBNSFB_BASE := libnsfb
LIBNSFB_VERS := 0.0.2
LIBNSFB_TARG := $(LIBNSFB_BASE)-$(LIBNSFB_VERS)

LIBPENCIL_BASE := libpencil
LIBPENCIL_VERS := 0.0.1
LIBPENCIL_TARG := $(LIBPENCIL_BASE)-$(LIBPENCIL_VERS)

LIBROSPRITE_BASE := librosprite
LIBROSPRITE_VERS := 0.0.2
LIBROSPRITE_TARG := $(LIBROSPRITE_BASE)-$(LIBROSPRITE_VERS)

LIBRUFL_BASE := librufl
LIBRUFL_VERS := 0.0.1
LIBRUFL_TARG := $(LIBRUFL_BASE)-$(LIBRUFL_VERS)

LIBSVGTINY_BASE := libsvgtiny
LIBSVGTINY_VERS := 0.0.2
LIBSVGTINY_TARG := $(LIBSVGTINY_BASE)-$(LIBSVGTINY_VERS)

#Library Target list
NSLIBTARG := $(LIBPARSERUTILS_TARG) $(LIBWAPCAPLET_TARG) $(LIBCSS_TARG) \
		$(LIBHUBBUB_TARG) $(LIBNSBMP_TARG) $(LIBNSGIF_TARG) $(LIBNSFB_TARG)

ABLIBS := $(NSLIBTARG) $(LIBSVGTINY_TARG)

SOURCELIBS := $(ABLIBS) $(LIBNSFB_TARG) $(LIBPENCIL_TARG) \
		$(LIBROSPRITE_TARG) $(LIBRUFL_TARG)

SVNURI := svn://svn.netsurf-browser.org
ABDIR := netsurfbuild-v$(NETSURF_VERS)

define do_checkout
	svn checkout --quiet $(SVNURI)$1 $2

endef

define do_export
	svn export --quiet $(SVNURI)$1 $2

endef

define do_export_and_tar
	svn export --quiet $(SVNURI)$1 $(NETSURF_TARG)/$2
	tar -C $(NETSURF_TARG) -czf $2-src.tar.gz $2

endef

define do_clean
	$(MAKE) distclean --directory=$1 TARGET=$(TARGET)

endef

define do_prefix_install
	$(MAKE) install --directory=$1 TARGET=$(TARGET) PREFIX=$(TMP_PREFIX) DESTDIR=

endef


.PHONY: build install clean source autobuild

build: $(TMP_PREFIX)/build-stamp

$(TMP_PREFIX)/build-stamp:
	mkdir -p $(TMP_PREFIX)/include
	mkdir -p $(TMP_PREFIX)/lib
	$(foreach L,$(NSLIBTARG),$(call do_prefix_install,$(L)))
	$(MAKE) --directory=$(NETSURF_TARG) PREFIX=$(PREFIX) TARGET=$(TARGET)
	touch $@

install: $(TMP_PREFIX)/build-stamp
	$(MAKE) install --directory=$(NETSURF_TARG) TARGET=$(TARGET) PREFIX=$(PREFIX) DESTDIR=$(DESTDIR)

clean:
	$(RM) -r $(TMP_PREFIX)
	$(foreach L,$(NSLIBTARG),$(call do_clean,$(L)))
	$(MAKE) clean --directory=$(NETSURF_TARG) TARGET=$(TARGET)

source: $(NETSURF_TARG)-full-src.tar.gz
$(NETSURF_TARG)-full-src.tar.gz: Makefile
	$(RM) -r $(NETSURF_TARG)
	mkdir $(NETSURF_TARG)
	cp Makefile $(NETSURF_TARG)/Makefile
	$(foreach L,$(SOURCELIBS) $(NETSURF_TARG), \
		$(call do_export_and_tar,/tags/$(subst -,/,$(L)),$(L)))
	tar -czf $@ $(NETSURF_TARG)

autobuild:
	$(call do_export,/trunk/netsurfbuild,$(ABDIR))
	mkdir -p $(ABDIR)/downloads/releases
	$(call do_checkout,/trunk/netsurfweb,$(ABDIR)/netsurfweb)
	$(foreach L,$(ABLIBS) $(NETSURF_TARG), \
		$(call do_checkout,/tags/$(subst -,/,$(L)),$(ABDIR)/$(firstword $(subst -, ,$(L)))))