mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-18 10:13:24 +03:00
124e4cd788
svn path=/trunk/netsurf/; revision=11218
351 lines
12 KiB
Makefile
351 lines
12 KiB
Makefile
#
|
|
# NetSurf default build setup
|
|
#
|
|
#
|
|
# | WARNING: You should NOT be editing this file.
|
|
# |
|
|
# | If you want to configure your build, create a 'Makefile.config'
|
|
# | file with 'override' statements to override the settings here.
|
|
# | Follow the example in 'Makefile.config.example'.
|
|
#
|
|
#
|
|
# This file should be treated as INVIOLATE and only altered to alter
|
|
# the defaults by a core developer. If you wish to configure the build
|
|
# of NetSurf then instead please create a file called Makefile.config
|
|
# and simply override the statements you require in that. Remember
|
|
# that Makefile.config cannot override the TARGET. That must be set on
|
|
# the commandline. i.e. 'make TARGET=framebuffer' However
|
|
# Makefile.config can use the TARGET variable to control what to set
|
|
# the configuration options to.
|
|
#
|
|
# Some of these options support an 'AUTO' option, as well as YES and NO.
|
|
# When an option is set to AUTO, the Makefile will attempt to detect if that
|
|
# feature is available, enabling it if possible.
|
|
#
|
|
# Options marked "highly recommended" have a severe impact on NetSurf's
|
|
# use as a web browser and should be set to YES unless there is a particularly
|
|
# good reason not to.
|
|
#
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Options relating to all versions of NetSurf
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Enable NetSurf's use of libnsbmp for displaying BMPs and ICOs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_BMP := YES
|
|
|
|
# Enable NetSurf's use of libnsgif for displaying GIFs
|
|
# Valid options: YES, NO (highly recommended)
|
|
NETSURF_USE_GIF := YES
|
|
|
|
# Enable NetSurf's use of libjpeg for displaying JPEGs
|
|
# Valid options: YES, NO (highly recommended)
|
|
NETSURF_USE_JPEG := YES
|
|
|
|
# Enable NetSurf's use of libpng for displaying PNGs. If MNG and PNG
|
|
# are both enabled then NetSurf will choose libpng for PNGs, leaving
|
|
# MNGs and JNGs to libmng.
|
|
# Valid options: YES, NO (at least one of PNG/MNG highly recommended)
|
|
NETSURF_USE_PNG := YES
|
|
|
|
# Enable NetSurf's use of libmng for displaying MNGs, JNGs and PNGs
|
|
# Valid options: YES, NO (at least one of PNG/MNG highly recommended)
|
|
NETSURF_USE_MNG := YES
|
|
|
|
# Enable NetSurf's use of libwebp/libvpx for displaying WebPs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_WEBP := NO
|
|
|
|
# Enable NetSurf's use of libharu for PDF export and GTK printing support.
|
|
# There is no auto-detection available for this, as it does not have a
|
|
# pkg-config file.
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_HARU_PDF := NO
|
|
|
|
# Enable stripping the NetSurf binary
|
|
# Valid options: YES, NO
|
|
NETSURF_STRIP_BINARY := NO
|
|
|
|
# Template used for constructing the User Agent: string. The first two
|
|
# replacements are major/minor version, second two are OS and architecture.
|
|
# Please don't be tempted to mention Mozilla here! Let's let that lie die.
|
|
NETSURF_UA_FORMAT_STRING := "NetSurf/%d.%d (%s; %s)"
|
|
|
|
# Default home page, if one is not defined by the user. Note that this
|
|
# option does not apply to the RISC OS version, as it has its own local
|
|
# home page, and it can be changed by editing the end of gui_init2() in
|
|
# riscos/gui.c
|
|
NETSURF_HOMEPAGE := "http://www.netsurf-browser.org/welcome/"
|
|
|
|
# Force using glibc internal iconv implementation instead of external libiconv
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_LIBICONV_PLUG := YES
|
|
|
|
# Initial CFLAGS. Optimisation level etc. tend to be target specific.
|
|
CFLAGS :=
|
|
|
|
# Default installation/execution prefix
|
|
PREFIX ?= /usr/local
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# RISC OS-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),riscos)
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_NSSVG := YES
|
|
|
|
# Enable NetSurf's support for displaying RISC OS Draw files
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_DRAW := YES
|
|
|
|
# Enable NetSurf's support for displaying RISC OS Sprites
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_SPRITE := YES
|
|
|
|
# Enable NetSurf's use of AWRender for displaying ArtWorks files
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_ARTWORKS := YES
|
|
|
|
# Enable NetSurf's support for the Acorn plugin protocol
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_PLUGINS := NO
|
|
|
|
# Enable NetSurf's use of pencil for Drawfile export
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_DRAW_EXPORT := YES
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# GTK-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),gtk)
|
|
|
|
# Where to search for NetSurf's resources after looking in ~/.netsurf and
|
|
# $NETSURFRES. It must have a trailing /
|
|
NETSURF_GTK_RESOURCES := $(PREFIX)/share/netsurf/
|
|
|
|
# Where to install the netsurf binary
|
|
NETSURF_GTK_BIN := $(PREFIX)/bin/
|
|
|
|
# Enable NetSurf's use of librsvg in conjunction with Cairo to display SVGs
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_RSVG := AUTO
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_NSSVG := AUTO
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := AUTO
|
|
|
|
# Configuration overrides for Mac OS X
|
|
ifeq ($(HOST),macosx)
|
|
NETSURF_USE_LIBICONV_PLUG := NO
|
|
NETSURF_USE_HARU_PDF := NO
|
|
endif
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# BeOS-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),beos)
|
|
|
|
|
|
# Where to install the netsurf binary
|
|
NETSURF_BEOS_BIN := /boot/apps/netsurf/
|
|
|
|
# TODO:HAIKU -- not sure if ~/.netsurf applies in beos
|
|
# Where to search for NetSurf's resources after looking in ~/.netsurf and
|
|
# $NETSURFRES. It must have a trailing /
|
|
NETSURF_BEOS_RESOURCES := /boot/apps/netsurf/res/
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_NSSVG := YES
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := AUTO
|
|
|
|
# Enable NetSurf's use of libharu for PDF export.
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_HARU_PDF := NO
|
|
|
|
# Force using glibc internal iconv implementation instead of external libiconv
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_LIBICONV_PLUG := NO
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Amiga-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),amiga)
|
|
|
|
# Force using glibc internal iconv implementation instead of external libiconv
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_LIBICONV_PLUG := YES
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := YES
|
|
|
|
# Enable NetSurf's use of libwebp/libvpx for displaying WebPs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_WEBP := YES
|
|
|
|
# Enable NetSurf to display Amiga icons
|
|
# Valid options: YES, NO (recommended)
|
|
NETSURF_USE_AMIGA_ICON := YES
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# (NB: Requires NETSURF_AMIGA_USE_CAIRO)
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_NSSVG := NO
|
|
|
|
# Enable NetSurf's use of libcairo for some plotter functions
|
|
# This will also link NetSurf with shared objects, and
|
|
# requires AmigaOS 4.1 or higher to run the resulting executable
|
|
# Valid options: YES, NO
|
|
NETSURF_AMIGA_USE_CAIRO := NO
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Framebuffer-target-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),framebuffer)
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
# Framebuffer default surface provider.
|
|
# Valid values are: x, sdl, linux, vnc, able,
|
|
NETSURF_FB_FRONTEND := sdl
|
|
|
|
# Use libharu to enable PDF export and GTK printing support.
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_HARU_PDF := NO
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := AUTO
|
|
|
|
# Library to use for font plotting
|
|
# Valid options: internal, freetype
|
|
NETSURF_FB_FONTLIB := internal
|
|
|
|
# freetype compiled in font locations
|
|
NETSURF_FB_FONT_SANS_SERIF := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_BOLD := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_ITALIC := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
|
|
NETSURF_FB_FONT_SERIF := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
|
|
NETSURF_FB_FONT_SERIF_BOLD := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Bold.ttf
|
|
NETSURF_FB_FONT_MONOSPACE := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf
|
|
NETSURF_FB_FONT_MONOSPACE_BOLD := /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
|
|
NETSURF_FB_FONT_CURSIVE := /usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf
|
|
NETSURF_FB_FONT_FANTASY := /usr/share/fonts/truetype/msttcorefonts/Impact.ttf
|
|
|
|
# Framebuffer frontends may have differing root paths for resources
|
|
# As such, these specify the resource path and config path.
|
|
NETSURF_FB_RESPATH_linux := $(PREFIX)/share/netsurf/
|
|
NETSURF_FB_RESPATH_able := (tftpboot)/
|
|
NETSURF_FB_RESPATH_dummy := ./
|
|
NETSURF_FB_RESPATH_sdl := $(PREFIX)/share/netsurf/
|
|
NETSURF_FB_RESPATH_x := $(PREFIX)/share/netsurf/
|
|
NETSURF_FB_RESPATH_vnc := $(PREFIX)/share/netsurf/
|
|
|
|
NETSURF_FRAMEBUFFER_RESOURCES = $(NETSURF_FB_RESPATH_$(NETSURF_FB_FRONTEND))
|
|
NETSURF_FRAMEBUFFER_BIN := $(PREFIX)/bin/
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# windows-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),windows)
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := NO
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_NSSVG := NO
|
|
|
|
# Force using glibc internal iconv implementation instead of external libiconv
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_LIBICONV_PLUG := NO
|
|
|
|
# mng support does not currently build on windows
|
|
NETSURF_USE_MNG := NO
|
|
|
|
# no pdf support
|
|
NETSURF_USE_HARU_PDF := NO
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Atari-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),atari)
|
|
|
|
# Force using glibc internal iconv implementation instead of external libiconv
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_LIBICONV_PLUG := NO
|
|
|
|
# Enable NetSurf's use of librosprite for displaying RISC OS Sprites
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_ROSPRITE := NO
|
|
|
|
# Enable NetSurf's use of libwebp/libvpx for displaying WebPs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_WEBP := NO
|
|
|
|
# Enable NetSurf's use of librsvg in conjunction with Cairo to display SVGs
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_RSVG := AUTO
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_NSSVG := AUTO
|
|
|
|
NETSURF_USE_MNG := NO
|
|
|
|
NETSURF_ATARI_USE_FREETYPE := YES
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -m68000 -O2 -Wuninitialized -DNO_IPV6
|
|
|
|
WARNFLAGS = -W -Wundef -Wpointer-arith \
|
|
-Wcast-align -Wwrite-strings -Wstrict-prototypes \
|
|
-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls \
|
|
-Wnested-externs -Wl,-t
|
|
|
|
endif
|
|
|
|
# Include any local configuration
|
|
-include Makefile.config
|
|
|