netsurf/Makefile.defaults
2011-01-19 01:42:54 +00:00

385 lines
13 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
# ----------------------------------------------------------------------------
# Cocoa-specific options
# ----------------------------------------------------------------------------
ifeq ($(TARGET),cocoa)
# 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 := YES
NETSURF_USE_MNG := NO
NETSURF_ATARI_USE_FREETYPE := YES
# Optimisation levels
CFLAGS += -O2 -Wuninitialized
endif
# Include any local configuration
-include Makefile.config