CWARNFLAGS += -Wno-error -Wno-redundant-decls -Wno-char-subscripts -Wno-undef -Wno-implicit-function-declaration -Wno-int-conversion -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$(HOME)/kolibrios/contrib/sdk/sources/libpng/ -I$(HOME)/kolibrios/contrib/sdk/sources/zlib -I$(HOME)/kolibrios/contrib/sdk/sources/freetype/include -I$(HOME)/kolibrios/contrib/sdk/sources/freetype/include -I$(HOME)/kolibrios/contrib/sdk/sources/libjpeg CFLAGS += $(KOL_OTHER_INCLUDES) $(DMACROS) -std=c99 -g CFLAGS += '-DNETSURF_KOLIBRI_FONTPATH="$(NETSURF_KOLIBRI_FONTPATH)"' CFLAGS += '-DKOLIBRIOS_RESPATH="$(NETSURF_KOLIBRI_RESPATH)"' CFLAGS += '-DNETSURF_USE_KOLIBRI_HTTPLIB' ########################################################################## # Only for FB compat with kolibri. Get rid soon. CFLAGS += '-DKOLIBRI_RUNTIME_RESPATH="$(NETSURF_KOLIBRI_RESPATH)"' # Enable PNG and others from here (no pkg config for now) CFLAGS += '-DWITH_PNG' # 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)"' ######################################################################### 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)/fb/convert_image.c $(VQ)echo " HOST CC: $@" $(Q)$(HOST_CC) $(HOST_CFLAGS) -o $@ $(FRONTEND_SOURCE_DIR)/fb/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))))) # Internal fonts to generate KOLIBRI_FONT_internal_ns-sans := $(FRONTEND_SOURCE_DIR)/res/fonts/glyph_data # Internal font conversion $(TOOLROOT)/convert_font: $(TOOLROOT)/created $(FRONTEND_SOURCE_DIR)/fb/convert_font.c $(VQ)echo " HOST CC: $@" $(Q)$(HOST_CC) -o $@ $(FRONTEND_SOURCE_DIR)/fb/convert_font.c # 1: input file # 2: output source code file # 3: output header file # 4: font name define convert_font S_FONTS += $(2) $(warning Adding to S_FONTS : $(2)) $(2): $(1) $(TOOLROOT)/convert_font $(VQ)echo " FONT: $(1) ($(4))" $(Q)$(TOOLROOT)/convert_font -d -H $(3) $(1) $(2) endef S_FONTS := # $(eval $(foreach V,$(filter KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,$(.VARIABLES)),$(call convert_font,$($(V)),$(OBJROOT)/font-$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(V)).c,$(OBJROOT)/font-$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(V)).h,$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(V))))) # $(error $(foreach V,$(filter KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,$(.VARIABLES)),$(call convert_font,$($(V)),$(OBJROOT)/font-$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(V)).c,$(OBJROOT)/font-$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(V)).h,$(patsubst KOLIBRI_FONT_$(NETSURF_KOLIBRI_FONTLIB)_%,%,$(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 S_FRAMEBUFFER := gui.c framebuffer.c schedule.c bitmap.c fetch.c findfile.c localhistory.c clipboard.c font_freetype.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 fb/,$(S_FRAMEBUFFER)) S_FRAMEBUFFER += $(addprefix fb/fbtk/,$(S_FRAMEBUFFER_FBTK)) S_KOLIBRIOS += $(S_FRAMEBUFFER) S_FRONTEND := $(S_KOLIBRIOS) SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRONTEND) $(S_IMAGES) $(S_FONTS) EXETARGET := nskolibrios ## Install specific stuff DESTDIR := $(PREFIX)/bin DESTRESDIR := $(PREFIX)/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)/