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.
195 lines
5.8 KiB
195 lines
5.8 KiB
#
|
|
# Makefile for NetSurf RISC OS target
|
|
#
|
|
# This file is part of NetSurf
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# RISC OS target setup
|
|
# ----------------------------------------------------------------------------
|
|
|
|
$(eval $(call pkg_config_find_and_add,libcares,Cares))
|
|
|
|
$(eval $(call feature_enabled,DRAW,-DWITH_DRAW,,Drawfile rendering))
|
|
$(eval $(call feature_enabled,SPRITE,-DWITH_SPRITE,,Sprite rendering))
|
|
$(eval $(call feature_enabled,ARTWORKS,-DWITH_ARTWORKS,,ArtWorks rendering))
|
|
$(eval $(call feature_enabled,DRAW_EXPORT,-DWITH_DRAW_EXPORT,-lpencil,Drawfile export))
|
|
|
|
|
|
TPD_RISCOS = $(foreach TPL,$(notdir $(TPL_RISCOS)), \
|
|
$(FRONTEND_SOURCE_DIR)/appdir/Resources/$(TPL)/Templates$(TPLEXT))
|
|
|
|
RESOURCES = $(TPD_RISCOS)
|
|
|
|
CFLAGS += -Driscos -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE \
|
|
-mpoke-function-name -fno-strict-aliasing
|
|
ifeq ($(findstring -elfeabi,$(SUBTARGET)),-elfeabi)
|
|
CFLAGS += -funwind-tables
|
|
endif
|
|
|
|
CFLAGS += -I$(GCCSDK_INSTALL_ENV)/include
|
|
ifeq ($(HOST),riscos)
|
|
CFLAGS += -I<OSLib$$Dir> -mthrowback
|
|
endif
|
|
ASFLAGS += -xassembler-with-cpp -I. -I$(GCCSDK_INSTALL_ENV)/include
|
|
LDFLAGS += -L$(GCCSDK_INSTALL_ENV)/lib -lrufl
|
|
ifeq ($(HOST),riscos)
|
|
LDFLAGS += -LOSLib: -lOSLib32
|
|
else
|
|
LDFLAGS += -lOSLib32
|
|
ifeq ($(findstring -elf,$(SUBTARGET)),-elf)
|
|
# Go for static builds & AIF binary at the moment:
|
|
CFLAGS += -static
|
|
LDFLAGS += -static
|
|
EXEEXT := ,ff8
|
|
endif
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Source file setup
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# S_RISCOS are sources purely for the RISC OS build
|
|
S_FRONTEND := \
|
|
assert.c \
|
|
bitmap.c \
|
|
buffer.c \
|
|
configure.c \
|
|
cookies.c \
|
|
corewindow.c \
|
|
dialog.c \
|
|
download.c \
|
|
filetype.c \
|
|
font.c \
|
|
global_history.c \
|
|
gui.c \
|
|
help.c \
|
|
hotlist.c \
|
|
image.c \
|
|
iconbar.c \
|
|
local_history.c \
|
|
menus.c \
|
|
message.c \
|
|
mouse.c \
|
|
pageinfo.c \
|
|
palettes.c \
|
|
plotters.c \
|
|
print.c \
|
|
query.c \
|
|
save.c \
|
|
save_draw.c \
|
|
save_pdf.c \
|
|
schedule.c \
|
|
search.c \
|
|
searchweb.c \
|
|
textarea.c \
|
|
textselection.c \
|
|
theme.c \
|
|
theme_install.c \
|
|
toolbar.c \
|
|
url_suggest.c \
|
|
ucstables.c \
|
|
uri.c \
|
|
url_complete.c \
|
|
url_protocol.c \
|
|
window.c \
|
|
wimp.c \
|
|
wimp_event.c \
|
|
$(addprefix content-handlers/,artworks.c awrender.s draw.c sprite.c) \
|
|
$(addprefix gui/,button_bar.c progress_bar.c status_bar.c \
|
|
throbber.c url_bar.c) \
|
|
$(addprefix configure/,con_cache.c con_connect.c con_content.c \
|
|
con_fonts.c con_home.c con_image.c con_inter.c con_language.c \
|
|
con_secure.c con_theme.c)
|
|
|
|
# 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_FRONTEND)
|
|
|
|
EXETARGET := $(FRONTEND_SOURCE_DIR)/appdir/!RunImage$(EXEEXT)
|
|
|
|
# The filter and target for split messages
|
|
MESSAGES_FILTER=ro
|
|
|
|
$(FRONTEND_SOURCE_DIR)/appdir/!Run$(RUNEXT): $(FRONTEND_SOURCE_DIR)/scripts/Run $(EXETARGET)
|
|
$(VQ)echo " MAKERUN: $@"
|
|
$(Q)$(MAKERUN) $(EXETARGET) $< $@
|
|
ifeq ($(findstring -elfeabi,$(SUBTARGET)),-elfeabi)
|
|
$(Q)$(SED) -i -e 's/^|\(RMEnsure ARMEABISupport\)/\1/' -e 's/SharedUnixLibrary 1\.07/SharedUnixLibrary 1.16/g' $@
|
|
endif
|
|
|
|
$(FRONTEND_SOURCE_DIR)/appdir/!Help$(RUNEXT): $(FRONTEND_SOURCE_DIR)/scripts/Help
|
|
$(VQ)echo " CP: $@"
|
|
$(Q)cp $< $@
|
|
|
|
$(DEPROOT)/squeeze.d: $(EXETARGET)
|
|
$(VQ)echo " SQUEEZE: $<"
|
|
$(Q)$(SQUEEZE) -f -v $(EXETARGET)
|
|
$(Q)$(TOUCH) $@
|
|
|
|
POSTEXES += $(FRONTEND_SOURCE_DIR)/appdir/!Run$(RUNEXT) $(FRONTEND_SOURCE_DIR)/appdir/!Help$(RUNEXT) $(DEPROOT)/squeeze.d
|
|
|
|
|
|
clean-run:
|
|
$(VQ)echo " CLEAN: !Run$(RUNEXT)"
|
|
$(Q) $(RM) $(FRONTEND_SOURCE_DIR)/appdir/!Run$(RUNEXT)
|
|
|
|
clean-help:
|
|
$(VQ)echo " CLEAN: !Help$(RUNEXT)"
|
|
$(Q) $(RM) $(FRONTEND_SOURCE_DIR)/appdir/!Help$(RUNEXT)
|
|
|
|
CLEANS += clean-run clean-help
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Template targets
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Template objects
|
|
TPL_RISCOS := de en fr nl # TODO: It'd be nice to auto-detect these
|
|
TPL_RISCOS := $(addprefix $(FRONTEND_SOURCE_DIR)/templates/,$(TPL_RISCOS))
|
|
|
|
# Template target creation macro
|
|
define compile_template
|
|
$(FRONTEND_SOURCE_DIR)/appdir/Resources/$(1)/Templates$$(TPLEXT): $(2)
|
|
$$(VQ)echo "TEMPLATE: $(2)"
|
|
$$(Q)$$(MKDIR) -p $(FRONTEND_SOURCE_DIR)/appdir/Resources/$(1)
|
|
$$(Q)$$(CC) -x c -E -P $$(CFLAGS) $(2) | $$(CCRES) - $$@
|
|
|
|
CLEAN_TEMPLATES += $(FRONTEND_SOURCE_DIR)/appdir/Resources/$(1)/Templates$$(TPLEXT)
|
|
|
|
endef
|
|
|
|
$(eval $(foreach TPL,$(TPL_RISCOS), \
|
|
$(call compile_template,$(notdir $(TPL)),$(TPL))))
|
|
|
|
clean-templates:
|
|
$(VQ)echo " CLEAN: $(CLEAN_TEMPLATES)"
|
|
$(Q)$(RM) $(CLEAN_TEMPLATES)
|
|
CLEANS += clean-templates
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Install target
|
|
# ----------------------------------------------------------------------------
|
|
|
|
install-riscos:
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# Package target
|
|
# ----------------------------------------------------------------------------
|
|
|
|
package-riscos: netsurf.zip
|
|
|
|
netsurf.zip: $(EXETARGET) $(POSTEXES)
|
|
$(eval $@_TMPDIR := $(shell mktemp -d))
|
|
$(Q) $(RM) $@
|
|
$(Q) cp -rLvp $(FRONTEND_SOURCE_DIR)/appdir $($@_TMPDIR)/!NetSurf
|
|
$(Q) $(CURDIR)/tools/git-date.sh $(FRONTEND_SOURCE_DIR)/distribution
|
|
$(Q) rsync --archive --verbose $(FRONTEND_SOURCE_DIR)/distribution/!Boot $($@_TMPDIR)
|
|
$(Q) rsync --archive --verbose $(FRONTEND_SOURCE_DIR)/distribution/!System $($@_TMPDIR)
|
|
$(Q) rsync --archive --verbose $(FRONTEND_SOURCE_DIR)/distribution/3rdParty $($@_TMPDIR)
|
|
$(Q) cp $(FRONTEND_SOURCE_DIR)/distribution/ReadMe $($@_TMPDIR)
|
|
$(Q) cp $(FRONTEND_SOURCE_DIR)/distribution/LeesMij $($@_TMPDIR)
|
|
$(Q) cd $($@_TMPDIR) && $(ZIP) -9vr\, $(CURDIR)/$@ *
|
|
$(Q) $(RM) -rf $($@_TMPDIR)
|