2012-08-23 03:46:31 -07:00
|
|
|
#
|
|
|
|
# Makefile for NetSurf Windows target
|
|
|
|
#
|
|
|
|
# This file is part of NetSurf
|
2010-10-27 11:39:24 -07:00
|
|
|
|
2017-01-07 05:28:40 -08:00
|
|
|
|
|
|
|
VERSION_MAJ := $(shell sed -n '/_major/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
|
|
|
|
VERSION_MIN := $(shell sed -n '/_minor/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
|
|
|
|
|
|
|
|
|
2012-12-20 07:27:07 -08:00
|
|
|
LDFLAGS += -L${GCCSDK_INSTALL_ENV}/lib
|
|
|
|
CFLAGS += -I${GCCSDK_INSTALL_ENV}/include/
|
2011-02-04 07:44:35 -08:00
|
|
|
|
2016-05-05 14:28:51 -07:00
|
|
|
$(eval $(call pkg_config_find_and_add,libcares,Cares))
|
|
|
|
$(eval $(call pkg_config_find_and_add,zlib,ZLib))
|
|
|
|
|
2016-10-19 02:12:41 -07:00
|
|
|
# libraries for windows API
|
2017-11-24 07:39:31 -08:00
|
|
|
LDFLAGS += -lgnurx -lgdi32 -lcomctl32 -lws2_32 -lmsimg32 -lshlwapi -lcrypt32 -mwindows
|
2011-02-04 07:44:35 -08:00
|
|
|
|
2012-12-20 07:27:07 -08:00
|
|
|
CFLAGS += -U__STRICT_ANSI__ -mwin32
|
|
|
|
# only windows versions after XP are supported
|
2016-10-19 15:07:43 -07:00
|
|
|
# https://msdn.microsoft.com/en-gb/library/windows/desktop/aa383745
|
2012-12-20 07:27:07 -08:00
|
|
|
CFLAGS += '-DWINVER=0x0501'
|
|
|
|
CFLAGS += '-D_WIN32_WINNT=0x0501'
|
|
|
|
CFLAGS += '-D_WIN32_WINDOWS=0x0501'
|
|
|
|
CFLAGS += '-D_WIN32_IE=0x0501'
|
2011-03-29 13:38:40 -07:00
|
|
|
|
2012-12-20 07:27:07 -08:00
|
|
|
#installed resource path
|
|
|
|
CFLAGS += '-DNETSURF_WINDOWS_RESPATH="$(NETSURF_WINDOWS_RESPATH)"'
|
2011-03-29 13:38:40 -07:00
|
|
|
|
2016-10-19 15:07:43 -07:00
|
|
|
WSCFLAGS := -std=c99 -Dnswin32 -DCURL_STATICLIB -DCARES_STATICLIB -g
|
2011-03-29 13:38:40 -07:00
|
|
|
|
2012-12-20 07:27:07 -08:00
|
|
|
CFLAGS += $(WSCFLAGS)
|
|
|
|
LDFLAGS += $(WSCFLAGS)
|
2010-10-27 11:39:24 -07:00
|
|
|
|
2018-08-20 14:26:41 -07:00
|
|
|
# The filter and target for split messages
|
|
|
|
MESSAGES_FILTER=win
|
|
|
|
MESSAGES_TARGET=$(FRONTEND_RESOURCES_DIR)
|
|
|
|
|
2010-10-28 17:54:27 -07:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# built-in resource setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2018-08-20 14:26:41 -07:00
|
|
|
$(OBJROOT)/windows_resource.o: $(FRONTEND_RESOURCES_DIR)/resource.rc $(addsuffix /Messages,$(addprefix $(MESSAGES_TARGET)/,$(MESSAGES_LANGUAGES)))
|
2010-10-28 17:54:27 -07:00
|
|
|
$(VQ)echo " WINDRES: compiling windows resources"
|
2012-07-23 13:12:19 -07:00
|
|
|
${Q}$(WINDRES) $< -O coff -o $@
|
2010-10-28 17:54:27 -07:00
|
|
|
|
|
|
|
S_RESOURCES := windows_resource.o
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Source file setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2016-05-05 14:28:51 -07:00
|
|
|
# sources purely for the windows build
|
2019-05-09 15:11:05 -07:00
|
|
|
S_FRONTEND := main.c window.c gui.c clipboard.c drawable.c plot.c findfile.c \
|
2018-08-20 14:26:41 -07:00
|
|
|
font.c bitmap.c about.c prefs.c download.c fetch.c file.c \
|
2019-08-14 04:09:04 -07:00
|
|
|
local_history.c schedule.c windbg.c pointers.c \
|
2020-05-22 01:01:39 -07:00
|
|
|
corewindow.c hotlist.c cookies.c global_history.c
|
2010-10-28 17:54:27 -07:00
|
|
|
|
2011-08-28 07:29:15 -07:00
|
|
|
# This is the final source build list
|
|
|
|
# Note this is deliberately *not* expanded here as common and image
|
|
|
|
# are not yet available
|
2016-05-05 14:28:51 -07:00
|
|
|
SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRONTEND) $(S_RESOURCES)
|
2010-10-28 17:54:27 -07:00
|
|
|
EXETARGET := NetSurf.exe
|
2012-08-12 13:50:36 -07:00
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Install target
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2012-08-23 03:46:31 -07:00
|
|
|
install-windows:
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Package target
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
package-windows: netsurf-installer.exe
|
2012-08-12 13:50:36 -07:00
|
|
|
|
2012-11-03 06:40:34 -07:00
|
|
|
WIN_RES_OBJ := installer.nsi NetSurf.ico netsurf.png welcome.html default.css
|
2017-01-07 05:28:40 -08:00
|
|
|
WIN_RES_INS_OBJ := $(addprefix $(FRONTEND_RESOURCES_DIR)/,$(WIN_RES_OBJ)) $(OBJROOT)/messages-en
|
|
|
|
|
|
|
|
# deal with making installer generation verbose
|
|
|
|
ifeq ($(Q),)
|
|
|
|
NSIS_VERBOSE := 4
|
|
|
|
else
|
|
|
|
NSIS_VERBOSE := 0
|
|
|
|
endif
|
2012-11-03 06:40:34 -07:00
|
|
|
|
2017-01-07 05:28:40 -08:00
|
|
|
# installer messages generation
|
|
|
|
$(OBJROOT)/messages-en: resources/FatMessages
|
|
|
|
$(VQ)echo "MSGSPLIT: Language: en Filter: win"
|
2018-04-22 02:11:09 -07:00
|
|
|
$(Q)$(RM) $@
|
2017-01-07 05:28:40 -08:00
|
|
|
$(Q)$(SPLIT_MESSAGES) -l en -p win -f messages -o $@ $<
|
2012-08-12 13:50:36 -07:00
|
|
|
|
|
|
|
netsurf-installer.exe: $(EXETARGET) $(WIN_RES_INS_OBJ)
|
2017-01-07 05:28:40 -08:00
|
|
|
$(VQ)echo "MAKENSIS: $@"
|
|
|
|
$(Q)makensis -V$(NSIS_VERBOSE) -NOCD -DOBJROOT=$(OBJROOT) -DRESDIR=$(FRONTEND_RESOURCES_DIR) -DVERSIONMAJOR=$(VERSION_MAJ) -DVERSIONMINOR=$(VERSION_MIN) -DOUTFNAME=$@ $(FRONTEND_RESOURCES_DIR)/installer.nsi
|
|
|
|
|
|
|
|
clean-installer:
|
|
|
|
$(VQ)echo " CLEAN: netsurf-installer.exe"
|
|
|
|
$(Q)$(RM) netsurf-installer.exe
|
|
|
|
CLEANS += clean-installer
|