mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-11-25 07:49:38 +03:00
447 lines
14 KiB
Makefile
447 lines
14 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 for displaying WebPs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_WEBP := NO
|
|
|
|
# Enable NetSurf's use of gstreamer for displaying videos
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_VIDEO := NO
|
|
|
|
# Enable NetSurf's use of spidermonkey for javascript
|
|
# Valid options: YES, NO, AUTO
|
|
NETSURF_USE_JS := NO
|
|
# Javascript support in older debian/ubuntu versions
|
|
NETSURF_USE_MOZJS := 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 := "about: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
|
|
|
|
# Set default GTK version to build for (2 or 3)
|
|
NETSURF_GTK_MAJOR := 2
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Monkey-specific options
|
|
# ----------------------------------------------------------------------------
|
|
ifeq ($(TARGET),monkey)
|
|
# How did I get mixed up with this fucking monkey anyhow?
|
|
NETSURF_MONKEY_RESOURCES := $(PREFIX)/share/netsurf/
|
|
NETSURF_MONKEY_BIN := $(PREFIX)/bin/
|
|
NETSURF_USE_RSVG := NO
|
|
NETSURF_USE_NSSVG := NO
|
|
NETSURF_USE_ROSPRITE := NO
|
|
NETSURF_USE_HARU_PDF := NO
|
|
NETSURF_USE_LIBICONV_PLUG := NO
|
|
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 := NO
|
|
|
|
# Enable NetSurf's use of libmng for displaying MNGs, JNGs and PNGs
|
|
# Valid options: YES, NO (at least one of PNG/MNG/DT highly recommended)
|
|
NETSURF_USE_MNG := NO
|
|
|
|
# Enable NetSurf's use of libwebp for displaying WebPs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_WEBP := NO
|
|
|
|
# Enable NetSurf to display Amiga icons
|
|
# Valid options: YES, NO (recommended)
|
|
NETSURF_USE_AMIGA_ICON := YES
|
|
|
|
# Enable NetSurf's use of DataTypes for unknown filetypes
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_AMIGA_DATATYPES := YES
|
|
|
|
# Enable NetSurf's use of libsvgtiny for displaying SVGs
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_NSSVG := YES
|
|
|
|
# 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, AUTO
|
|
NETSURF_USE_AMIGA_CAIRO := AUTO
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized -gstabs
|
|
|
|
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
|
|
|
|
# Default freetype font files
|
|
NETSURF_FB_FONT_SANS_SERIF := DejaVuSans.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_BOLD := DejaVuSans-Bold.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_ITALIC := DejaVuSans-Oblique.ttf
|
|
NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := DejaVuSans-BoldOblique.ttf
|
|
NETSURF_FB_FONT_SERIF := DejaVuSerif.ttf
|
|
NETSURF_FB_FONT_SERIF_BOLD := DejaVuSerif-Bold.ttf
|
|
NETSURF_FB_FONT_MONOSPACE := DejaVuSansMono.ttf
|
|
NETSURF_FB_FONT_MONOSPACE_BOLD := DejaVuSansMono-Bold.ttf
|
|
NETSURF_FB_FONT_CURSIVE := Comic_Sans_MS.ttf
|
|
NETSURF_FB_FONT_FANTASY := Impact.ttf
|
|
|
|
# Default binary install path
|
|
NETSURF_FRAMEBUFFER_BIN := $(PREFIX)/bin/
|
|
|
|
# Default resource install path
|
|
NETSURF_FRAMEBUFFER_RESOURCES := $(PREFIX)/share/netsurf/
|
|
|
|
# Default framebuffer search path
|
|
NETSURF_FB_RESPATH := $${HOME}/.netsurf/:$${NETSURFRES}:$(NETSURF_FRAMEBUFFER_RESOURCES):./framebuffer/res
|
|
|
|
# freetype compiled in font serch path
|
|
NETSURF_FB_FONTPATH := /usr/share/fonts/truetype/ttf-dejavu:/usr/share/fonts/truetype/msttcorefonts
|
|
|
|
|
|
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 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
|
|
|
|
# enable true type fonts via freetype2
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_ATARI_FREETYPE_FONT := YES
|
|
|
|
# Enable use of netsurf embedded font
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_ATARI_NETSURF_FONT := YES
|
|
|
|
# Configure support for screen drivers with no true colour mode
|
|
# Valid options: YES, NO
|
|
NETSURF_USE_ATARI_8BPP_SUPPORT := NO
|
|
|
|
# Configure the CPU target
|
|
# Valid options: 68000, 68020-60, 5475 (coldfire)
|
|
ATARI_ARCH = 68020-60
|
|
|
|
# enable optimizations
|
|
# -O2 is currently broken with m68000 / m68020-60 builds
|
|
CFLAGS += -O1 -Wuninitialized
|
|
|
|
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 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_USE_BMP := NO
|
|
NETSURF_USE_GIF := NO
|
|
NETSURF_USE_PNG := NO
|
|
NETSURF_USE_JPEG := NO
|
|
NETSURF_USE_IMAGEIO := YES
|
|
|
|
DEVELOPER_PATH := /Developer
|
|
MACOSX_VERSION := 10.5
|
|
SDK_VERSION := $(MACOSX_VERSION)
|
|
|
|
# Optimisation levels
|
|
CFLAGS += -O2 -Wuninitialized
|
|
|
|
endif
|
|
|
|
# Include any local configuration
|
|
ifneq ($(MAKEFILE_DEFAULTS_FINISHED),)
|
|
$(error Makefile.defaults has been double-included. If you did something utterly brain-dead such as copying Makefile.defaults to Makefile.config then you deserve all the pain you can imagine. Do NOT do that. Why not read the comments at the top of Makefile.defaults. They are there to help you, you numpty)
|
|
endif
|
|
MAKEFILE_DEFAULTS_FINISHED=yes
|
|
-include Makefile.config
|
|
|