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)))))
|