You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
7.7 KiB
146 lines
7.7 KiB
ENVDIR := $(PREFIX)
|
|
KOLIBRI_SVN_CHECKOUT := $(ENVDIR)/kolibrios
|
|
KOL_OBJ_DIR := $(ENVDIR)/obj
|
|
|
|
KOL_LIBC := $(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/newlib/libc/include/
|
|
KOL_LIB_DIR := $(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/lib
|
|
LIB_LDFLAGS := -L$(KOL_LIB_DIR) -L/opt/netsurf/kos32-gcc/cross/autobuild/tools/win32/lib -lfreetype
|
|
OS_LDFLAGS := -static -S -T$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/newlib/app-dynamic.lds --image-base 0 -Map netsurf-kolibrios.map
|
|
NS_INCLUDE := $(PREFIX)/include
|
|
NS_LIB_LDFLAGS := -L$(PREFIX)/lib/ -lnsbmp -lnsutils -lwapcaplet -lsvgtiny -lnsgif -lutf8proc -lcss -lnsfb -lparserutils -ldom -lhubbub
|
|
CFLAGS += -c -fno-ident -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U__BSD_VISIBLE -I$(KOL_LIBC) -I$(NS_INCLUDE)
|
|
LDFLAGS += $(OS_LDFLAGS) $(NS_LIB_LDFLAGS) $(LIB_LDFLAGS) -lz -lgcc -lc.dll
|
|
|
|
CWARNFLAGS += -Wno-error -Wno-redundant-decls -Wno-char-subscripts -Wno-undef -Wno-implicit-function-declaration -Wno-nested-externs -Wno-format-extra-args -Wno-format
|
|
DMACROS := -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -D_NETBSD_SOURCE -D_TARGET_IS_KOLIBRIOS -DKOLIBRI_USE_FREETYPE -DFB_USE_FREETYPE
|
|
|
|
KOL_OTHER_INCLUDES := -I$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/libpng/ -I$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/zlib -I$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/freetype/include -I$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/freetype/include -I$(KOLIBRI_SVN_CHECKOUT)/contrib/sdk/sources/libjpeg
|
|
|
|
CFLAGS += $(KOL_OTHER_INCLUDES) $(DMACROS) -std=c99 -g
|
|
CFLAGS += '-DNETSURF_USE_KOLIBRI_HTTPLIB'
|
|
##########################################################################
|
|
# Only for FB compat with kolibri. Get rid soon.
|
|
CFLAGS += '-DKOLIBRI_RUNTIME_RESPATH="$(NETSURF_KOLIBRI_RESPATH)"'
|
|
|
|
# compile time font locations
|
|
CFLAGS += '-DNETSURF_FB_FONTPATH="$(NETSURF_KOLIBRI_FONTPATH)"'
|
|
CFLAGS += '-DKOLIBRI_FONT_FREETYPE_SANS_SERIF="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_BOLD="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SERIF="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_SERIF_BOLD="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_MONOSPACE="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_MONOSPACE_BOLD="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_CURSIVE="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
CFLAGS += '-DNETSURF_FB_FONT_FANTASY="$(NETSURF_KOLIBRI_FONT_SANS_SERIF)"'
|
|
|
|
CFLAGS += '-DWITH_NSLOG'
|
|
|
|
CFLAGS += '-w'
|
|
|
|
#########################################################################
|
|
|
|
KOLIBRI_IMAGE_left_arrow := $(FRONTEND_SOURCE_DIR)/res/icons/back.png
|
|
KOLIBRI_IMAGE_right_arrow := $(FRONTEND_SOURCE_DIR)/res/icons/forward.png
|
|
KOLIBRI_IMAGE_reload := $(FRONTEND_SOURCE_DIR)/res/icons/reload.png
|
|
KOLIBRI_IMAGE_stop_image := $(FRONTEND_SOURCE_DIR)/res/icons/stop.png
|
|
KOLIBRI_IMAGE_history_image := $(FRONTEND_SOURCE_DIR)/res/icons/history.png
|
|
KOLIBRI_IMAGE_left_arrow_g := $(FRONTEND_SOURCE_DIR)/res/icons/back_g.png
|
|
KOLIBRI_IMAGE_right_arrow_g := $(FRONTEND_SOURCE_DIR)/res/icons/forward_g.png
|
|
KOLIBRI_IMAGE_reload_g := $(FRONTEND_SOURCE_DIR)/res/icons/reload_g.png
|
|
KOLIBRI_IMAGE_stop_image_g := $(FRONTEND_SOURCE_DIR)/res/icons/stop_g.png
|
|
KOLIBRI_IMAGE_history_image_g := $(FRONTEND_SOURCE_DIR)/res/icons/history_g.png
|
|
KOLIBRI_IMAGE_scrolll := $(FRONTEND_SOURCE_DIR)/res/icons/scrolll.png
|
|
KOLIBRI_IMAGE_scrollr := $(FRONTEND_SOURCE_DIR)/res/icons/scrollr.png
|
|
KOLIBRI_IMAGE_scrollu := $(FRONTEND_SOURCE_DIR)/res/icons/scrollu.png
|
|
KOLIBRI_IMAGE_scrolld := $(FRONTEND_SOURCE_DIR)/res/icons/scrolld.png
|
|
KOLIBRI_IMAGE_osk_image := $(FRONTEND_SOURCE_DIR)/res/icons/osk.png
|
|
KOLIBRI_IMAGE_pointer_image := $(FRONTEND_SOURCE_DIR)/res/pointers/default.png
|
|
KOLIBRI_IMAGE_hand_image := $(FRONTEND_SOURCE_DIR)/res/pointers/point.png
|
|
KOLIBRI_IMAGE_caret_image := $(FRONTEND_SOURCE_DIR)/res/pointers/caret.png
|
|
KOLIBRI_IMAGE_menu_image := $(FRONTEND_SOURCE_DIR)/res/pointers/menu.png
|
|
KOLIBRI_IMAGE_progress_image := $(FRONTEND_SOURCE_DIR)/res/pointers/progress.png
|
|
KOLIBRI_IMAGE_move_image := $(FRONTEND_SOURCE_DIR)/res/pointers/move.png
|
|
KOLIBRI_IMAGE_throbber0 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber0.png
|
|
KOLIBRI_IMAGE_throbber1 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber1.png
|
|
KOLIBRI_IMAGE_throbber2 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber2.png
|
|
KOLIBRI_IMAGE_throbber3 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber3.png
|
|
KOLIBRI_IMAGE_throbber4 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber4.png
|
|
KOLIBRI_IMAGE_throbber5 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber5.png
|
|
KOLIBRI_IMAGE_throbber6 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber6.png
|
|
KOLIBRI_IMAGE_throbber7 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber7.png
|
|
KOLIBRI_IMAGE_throbber8 := $(FRONTEND_SOURCE_DIR)/res/throbber/throbber8.png
|
|
|
|
# Host tool to convert image bitmaps to source code.
|
|
#
|
|
# convert_image depends on fb_bitmap.h so that if we change that
|
|
# header, we get new images built.
|
|
|
|
HOST_LDFLAGS += -lpng
|
|
|
|
$(TOOLROOT)/convert_image: $(TOOLROOT)/created $(FRONTEND_SOURCE_DIR)/fbsources/convert_image.c
|
|
$(VQ)echo " HOST CC: $@"
|
|
$(Q)$(HOST_CC) $(HOST_CFLAGS) -o $@ $(FRONTEND_SOURCE_DIR)/fbsources/convert_image.c $(HOST_LDFLAGS)
|
|
|
|
# 1: input file
|
|
# 2: output file
|
|
# 3: bitmap name
|
|
|
|
define convert_image
|
|
|
|
S_IMAGES += $(2)
|
|
|
|
$(2): $(1) $(TOOLROOT)/convert_image
|
|
$(Q)$(TOOLROOT)/convert_image $(1) $(2) $(3)
|
|
endef
|
|
|
|
S_IMAGES :=
|
|
$(eval $(foreach V,$(filter KOLIBRI_IMAGE_%,$(.VARIABLES)),$(call convert_image,$($(V)),$(OBJROOT)/image-$(patsubst KOLIBRI_IMAGE_%,%,$(V)).c,$(patsubst KOLIBRI_IMAGE_%,%,$(V)))))
|
|
|
|
# non optional pkg-configed libs
|
|
#$(eval $(call pkg_config_find_and_add,libcurl,Curl ))
|
|
#$(eval $(call pkg_config_find_and_add,openssl,OpenSSL))
|
|
#$(eval $(call pkg_config_find_and_add,glib-2.0,GLib2))
|
|
|
|
# optional pkg-config configured libraries
|
|
# $(eval $(call pkg_config_find_and_add_enabled,NSSVG,libsvgtiny,SVG))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,ROSPRITE,librosprite,Sprite))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,BMP,libnsbmp,BMP))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,GIF,libnsgif,GIF))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,JPEG,libnsjpeg,JPEG))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,PNG,libpng,PNG ))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,MOZJS,mozjs185,JavaScript))
|
|
# $(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
|
|
|
|
#S_KOLIBRIOS := main.c kolibri_misc.c kolibri_debug.c kolibri_filesystem.c kolibri_regex.c
|
|
S_KOLIBRIOS := kolibri_http.c gui.c schedule.c
|
|
S_FRAMEBUFFER := framebuffer.c bitmap.c fetch.c findfile.c local_history.c corewindow.c clipboard.c font_$(NETSURF_KOLIBRI_FONTLIB).c
|
|
S_FRAMEBUFFER_FBTK := fbtk.c event.c fill.c bitmap.c user.c window.c text.c scroll.c osk.c
|
|
|
|
S_FRAMEBUFFER := $(addprefix fbsources/,$(S_FRAMEBUFFER))
|
|
S_FRAMEBUFFER += $(addprefix fbsources/fbtk/,$(S_FRAMEBUFFER_FBTK))
|
|
S_KOLIBRIOS += $(S_FRAMEBUFFER)
|
|
S_FRONTEND := $(S_KOLIBRIOS)
|
|
|
|
SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRONTEND) $(S_IMAGES)
|
|
|
|
EXETARGET := nskolibrios
|
|
|
|
KOLOBJECTS = $(KOL_OBJ_DIR)/dirent.o $(KOL_OBJ_DIR)/iconv.o $(KOL_OBJ_DIR)/loadhttp.obj
|
|
|
|
|
|
## Install specific stuff
|
|
|
|
DESTDIR := $(PREFIX)/bin
|
|
DESTRESDIR := $(PREFIX)/bin/res
|
|
KOLIBRI_RES_DIR := $(HOME)/NETSURFLIBS/netsurf/frontends/kolibrios/res
|
|
RELEASENAME :=
|
|
# make install is buggy with -jN when it cannot find the EXETARGET as it tries to install it before it is created.
|
|
install-kolibrios:
|
|
$(Q)$(MKDIR) -p $(DESTDIR)
|
|
$(Q)install $(EXETARGET) $(DESTDIR)/netsurf-kolibrios
|
|
$(Q)cp -r $(KOLIBRI_RES_DIR) $(DESTRESDIR)
|
|
$(Q)cp netsurf-kolibrios.map $(DESTDIR)/
|