86 lines
3.3 KiB
Makefile
86 lines
3.3 KiB
Makefile
# ----------------------------------------------------------------------------
|
|
# Windows target setup
|
|
# ----------------------------------------------------------------------------
|
|
|
|
LDFLAGS += -L${GCCSDK_INSTALL_ENV}/lib
|
|
CFLAGS += -I${GCCSDK_INSTALL_ENV}/include/
|
|
|
|
NETSURF_FEATURE_NSSVG_CFLAGS := -DWITH_NS_SVG
|
|
NETSURF_FEATURE_ROSPRITE_CFLAGS := -DWITH_NSSPRITE
|
|
NETSURF_FEATURE_BMP_CFLAGS := -DWITH_BMP
|
|
NETSURF_FEATURE_GIF_CFLAGS := -DWITH_GIF
|
|
NETSURF_FEATURE_PNG_CFLAGS := -DWITH_PNG
|
|
$(eval $(call feature_enabled,BMP,-DWITH_BMP,-lnsbmp,BMP (libnsbmp)))
|
|
$(eval $(call feature_enabled,GIF,-DWITH_GIF,-lnsgif,GIF (libnsgif)))
|
|
$(eval $(call feature_enabled,PNG,-DWITH_PNG,-lpng,PNG (libpng) ))
|
|
$(eval $(call feature_enabled,NSSVG,-DWITH_NS_SVG,-lsvgtiny,SVG (libsvgtiny)))
|
|
$(eval $(call feature_enabled,MNG,,-llcms -ljpeg,PNG/JNG/MNG (libmng)))
|
|
|
|
ifneq ($(PKG_CONFIG),)
|
|
CFLAGS += $(shell $(PKG_CONFIG) --cflags zlib libcares libcurl libhubbub \
|
|
libparserutils libdom libwapcaplet libxml-2.0)
|
|
LDFLAGS += $(shell $(PKG_CONFIG) --libs zlib libxml-2.0 libcurl libcares \
|
|
libhubbub libparserutils libcss libdom libwapcaplet)
|
|
else
|
|
LDFLAGS += -lhubbub -lcss -lparserutils -lwapcaplet -lxml2 -lcurl -lz
|
|
endif
|
|
|
|
LDFLAGS += -lssl -lcrypto -lregex -liconv \
|
|
-lgdi32 -lcomctl32 -lws2_32 -lmsimg32 -mwindows
|
|
|
|
CFLAGS += -U__STRICT_ANSI__ -mwin32
|
|
# only windows versions after XP are supported
|
|
CFLAGS += '-DWINVER=0x0501'
|
|
CFLAGS += '-D_WIN32_WINNT=0x0501'
|
|
CFLAGS += '-D_WIN32_WINDOWS=0x0501'
|
|
CFLAGS += '-D_WIN32_IE=0x0501'
|
|
|
|
#installed resource path
|
|
CFLAGS += '-DNETSURF_WINDOWS_RESPATH="$(NETSURF_WINDOWS_RESPATH)"'
|
|
|
|
|
|
WSCFLAGS := -std=c99 \
|
|
$(WARNFLAGS) -I. \
|
|
-DCURL_STATICLIB -DLIBXML_STATIC -DCARES_STATICLIB -g
|
|
CFLAGS += $(WSCFLAGS)
|
|
LDFLAGS += $(WSCFLAGS)
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# built-in resource setup
|
|
# ----------------------------------------------------------------------------
|
|
|
|
$(OBJROOT)/windows_resource.o: windows/res/resource.rc
|
|
$(VQ)echo " WINDRES: compiling windows resources"
|
|
${Q}$(WINDRES) $< -O coff -o $@
|
|
|
|
S_RESOURCES := windows_resource.o
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Source file setup
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# S_WINDOWS are sources purely for the windows build
|
|
S_WINDOWS := main.c window.c gui.c drawable.c misc.c plot.c findfile.c \
|
|
font.c bitmap.c about.c prefs.c download.c filetype.c \
|
|
localhistory.c login.c schedule.c thumbnail.c tree.c \
|
|
windbg.c system_colour.c
|
|
S_WINDOWS := $(addprefix windows/,$(S_WINDOWS))
|
|
|
|
# This is the final source build list
|
|
# Note this is deliberately *not* expanded here as common and image
|
|
# are not yet available
|
|
SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_WINDOWS) $(S_RESOURCES)
|
|
EXETARGET := NetSurf.exe
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Install target
|
|
# ----------------------------------------------------------------------------
|
|
|
|
install-windows: netsurf-installer.exe
|
|
|
|
WIN_RES_OBJ := installer.nsi NetSurf.ico netsurf.png welcome.html default.css messages
|
|
WIN_RES_INS_OBJ := $(addprefix windows/res/,$(WIN_RES_OBJ))
|
|
|
|
netsurf-installer.exe: $(EXETARGET) $(WIN_RES_INS_OBJ)
|
|
makensis -V4 -NOCD windows/res/installer.nsi
|