1# ---------------------------------------------------------------------------- 2# Atari target setup 3# ---------------------------------------------------------------------------- 4 5# !!!IMPORTANT!!! 6# On regular m68k-atari-mint installation, these must be set 7# manually via env. variables, because the m68k-atari-mint 8# toolchain is located in /usr/bin and the wildcard matching 9# fails then. So this wildcard matches only works for 10# the netsurf environment! 11STRIP := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*-strip) 12STACK := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*stack) 13FT2CF := $(GCCSDK_INSTALL_ENV)/bin/freetype-config 14 15ifeq ($(ATARIARCH),68000) 16PRGSUFFIX := 000.app 17PKGNAME := ns000.zip 18endif 19 20ifeq ($(ATARIARCH),68020-60) 21CFLAGS += -m68020-60 22LDFLAGS += -m68020-60 23PRGSUFFIX := 020.app 24PKGNAME := ns020.zip 25endif 26 27ifeq ($(ATARIARCH),v4e) 28CFLAGS += -mcpu=5475 29LDFLAGS += -mcpu=5475 30PRGSUFFIX := v4e.app 31PKGNAME := nsv4e.zip 32endif 33 34# non-pkgconfig components 35 36SPIDERMONKEY_CFLAGS := -DXP_UNIX -DJS_HAS_FILE_OBJECT=0 -DJSOPTION_JIT=0 -DPOSIX_SOURCE -D_BSD_SOURCE 37 38# freetype is optional but older versions do not use pkg-config 39ifeq ($(NETSURF_USE_ATARI_FREETYPE_FONT),YES) 40 NETSURF_USE_FREETYPE2 := AUTO 41 NETSURF_FEATURE_FREETYPE2_CFLAGS := -DWITH_FREETYPE_FONT_DRIVER 42 43 $(eval $(call pkg_config_find_and_add_enabled,FREETYPE2,freetype2,freetype2)) 44 45 # try and use non pkg-config method 46 ifeq ($(NETSURF_USE_FREETYPE2),NO) 47 FREETYPE_CONFIG_EXISTS := $(shell $(FT2CF) --cflags >/dev/null && echo yes) 48 ifeq ($(FREETYPE_CONFIG_EXISTS),yes) 49 NETSURF_USE_FREETYPE2 := YES 50 CFLAGS += $(shell $(FT2CF) --cflags) $(NETSURF_FEATURE_FREETYPE2_CFLAGS) 51 LDFLAGS += $(shell $(FT2CF) --libs) 52 $(info FT2.CNFG: freetype2 (freetype2) enabled) 53 else 54 $(info FT2.CNFG: freetype2 (freetype2) failed) 55 $(error Unable to find library for: freetype2) 56 endif 57 endif 58endif 59 60 61$(eval $(call feature_enabled,ATARI_NETSURF_FONT,-DWITH_INTERNAL_FONT_DRIVER,,(Internal Font))) 62$(eval $(call feature_enabled,ATARI_VDI_FONT,-DWITH_VDI_FONT_DRIVER,,(VDI Font))) 63$(eval $(call feature_enabled,ATARI_8BPP_SUPPORT,-DWITH_8BPP_SUPPORT,,(Indexed screen format support))) 64 65$(eval $(call pkg_config_find_and_add,libcares,Cares)) 66 67CFLAGS += -U__STRICT_ANSI__ -std=c99 -Dsmall -Dnsatari \ 68 -D_BSD_SOURCE \ 69 -D_XOPEN_SOURCE=600 \ 70 -D_POSIX_C_SOURCE=200112L \ 71 -DNSLOG_LEVEL_0x0010=NSLOG_LEVEL_INFO \ 72 $(shell $(PKG_CONFIG) --cflags openssl ) \ 73 $(shell $(PKG_CONFIG) --cflags libcurl ) 74 75LDFLAGS += -lcflib -lcurl 76LDFLAGS += -lssl -lcrypto 77LDFLAGS += -lz -lHermes -lgem -lm 78LDFLAGS += -L$(GCCSDK_INSTALL_ENV)/lib 79 80 81# sources purely for the Atari FreeMiNT build 82S_FRONTEND := \ 83 about.c \ 84 bitmap.c \ 85 clipboard.c \ 86 ctxmenu.c \ 87 cookies.c \ 88 deskmenu.c \ 89 download.c \ 90 encoding.c \ 91 file.c \ 92 findfile.c \ 93 filetype.c \ 94 font.c \ 95 gui.c \ 96 hotlist.c \ 97 history.c \ 98 misc.c \ 99 osspec.c \ 100 redrawslots.c \ 101 rootwin.c \ 102 schedule.c \ 103 search.c \ 104 statusbar.c \ 105 settings.c \ 106 toolbar.c \ 107 treeview.c \ 108 plot/plot.c \ 109 plot/fontplot.c \ 110 plot/eddi.s \ 111 plot/font_freetype.c \ 112 plot/font_internal.c \ 113 plot/font_vdi.c \ 114 gemtk/aestabs.c \ 115 gemtk/dragdrop.c \ 116 gemtk/guiwin.c \ 117 gemtk/msgbox.c \ 118 gemtk/utils.c \ 119 gemtk/objc.c 120 121 122# This is the final source build list 123# Note this is deliberately *not* expanded here as common and image 124# are not yet available 125SOURCES = $(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRONTEND) 126EXETARGET := ns$(SUBTARGET)$(PRGSUFFIX) 127 128# ---------------------------------------------------------------------------- 129# Install target 130# ---------------------------------------------------------------------------- 131 132ATARI_TARGET_DIR := netsurf/ 133ATARI_RES_DIR := $(FRONTEND_RESOURCES_DIR)/ 134ATARI_DOC_DIR := $(FRONTEND_SOURCE_DIR)/doc/ 135ATARI_FONT_NAME := ttf-bitstream-vera-1.10 136ATARI_FONT_SOURCE_URL := http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/$(ATARI_FONT_NAME).tar.gz 137#ATARI_FONT_SOURCE_URL := http://localhost/$(ATARI_FONT_NAME).tar.gz 138ATARI_FONT_TMP_DIR := $(DEPROOT)/../ 139ATARI_FONT_SOURCE_DIR := $(ATARI_FONT_TMP_DIR)$(ATARI_FONT_NAME)/ 140ATARI_GENERIC_RESOURCES := de en it ja nl 141ATARI_RESOURCES := $(addprefix resources/,$(ATARI_GENERIC_RESOURCES)) 142 143# ---------------------------------------------------------------------------- 144# Install target 145# ---------------------------------------------------------------------------- 146 147install-atari: 148 149# ---------------------------------------------------------------------------- 150# Package target 151# ---------------------------------------------------------------------------- 152 153$(ATARI_FONT_TMP_DIR)$(ATARI_FONT_NAME): 154 $(Q)wget $(ATARI_FONT_SOURCE_URL) -O $(ATARI_FONT_TMP_DIR)$(ATARI_FONT_NAME).tar.gz 155 tar xfz $(ATARI_FONT_TMP_DIR)/$(ATARI_FONT_NAME).tar.gz -C $(ATARI_FONT_TMP_DIR) 156 157package-atari: $(ATARI_FONT_TMP_DIR)$(ATARI_FONT_NAME) $(PKGNAME) 158 $(VQ)echo Creating $(PKGNAME) 159 160$(PKGNAME): $(EXETARGET) 161ifneq ($(strip $(STRIP)),) 162 $(Q)echo Stripping symbols from $(EXETARGET) with $(STRIP) 163 $(Q)$(STRIP) $(EXETARGET) 164endif 165ifneq ($(strip $(STACK)),) 166 $(Q)$(STACK) -S 256k $(EXETARGET) 167endif 168 $(Q)rm -rf $(ATARI_TARGET_DIR) 169 $(Q)rm -rf $(PKGNAME) 170 $(Q)$(MKDIR) $(ATARI_TARGET_DIR) 171 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)doc 172 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)downloads 173 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)res 174 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)res/fonts 175 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)res/icons 176 $(Q)$(MKDIR) $(ATARI_TARGET_DIR)res/cache 177 $(Q)touch $(ATARI_TARGET_DIR)cookies 178 $(Q)touch $(ATARI_TARGET_DIR)url.db 179 180 $(Q)cp $(ATARI_DOC_DIR)bugs $(ATARI_TARGET_DIR)doc/ 181 $(Q)cp $(ATARI_DOC_DIR)faq.txt $(ATARI_TARGET_DIR)doc/ 182 $(Q)cp $(ATARI_DOC_DIR)readme.txt $(ATARI_TARGET_DIR)doc/ 183 $(Q)cp $(ATARI_DOC_DIR)todo.txt $(ATARI_TARGET_DIR)doc/ 184 185# GUI resources: 186 $(Q)cp -r $(ATARI_RESOURCES) $(ATARI_TARGET_DIR)res/ 187 $(Q)cp $(ATARI_RES_DIR)/netsurf.rsc $(ATARI_TARGET_DIR)res/netsurf.rsc 188 $(Q)cp $(ATARI_RES_DIR)/languages $(ATARI_TARGET_DIR)res/languages 189 $(Q)cp $(ATARI_RES_DIR)/icons/toolbar -R $(ATARI_TARGET_DIR)res/icons 190 $(Q)cp resources/icons/* -R $(ATARI_TARGET_DIR)res/icons/ 191 192 $(Q)cp resources/netsurf.png $(ATARI_TARGET_DIR)res/netsurf.png 193 $(Q)cp resources/adblock.css $(ATARI_TARGET_DIR)res/adblock.css 194 $(Q)cp resources/default.css $(ATARI_TARGET_DIR)res/default.css 195 $(Q)cp resources/quirks.css $(ATARI_TARGET_DIR)res/quirks.css 196 $(Q)cp resources/internal.css $(ATARI_TARGET_DIR)res/internal.css 197 $(Q)cp resources/SearchEngines $(ATARI_TARGET_DIR)res/search 198 $(Q)cp resources/ca-bundle $(ATARI_TARGET_DIR)res/cabundle 199 $(Q)$(RM) $(ATARI_TARGET_DIR)res/messages 200 $(Q)$(SPLIT_MESSAGES) -l en -p atari -f messages -o $(ATARI_TARGET_DIR)res/messages resources/FatMessages 201 $(Q)cp resources/en/welcome.html $(ATARI_TARGET_DIR)res/welcome.html 202 $(Q)cp resources/en/licence.html $(ATARI_TARGET_DIR)res/licence.html 203 $(Q)cp resources/en/credits.html $(ATARI_TARGET_DIR)res/credits.html 204 205# copy "Bitstream Vera" font: 206 $(Q)cp $(ATARI_FONT_SOURCE_DIR)RELEASENOTES.TXT $(ATARI_TARGET_DIR)res/fonts/ 207 $(Q)cp $(ATARI_FONT_SOURCE_DIR)README.TXT $(ATARI_TARGET_DIR)res/fonts/ 208 $(Q)cp $(ATARI_FONT_SOURCE_DIR)COPYRIGHT.TXT $(ATARI_TARGET_DIR)res/fonts/ 209 210 $(Q)cp $(ATARI_FONT_SOURCE_DIR)Vera.ttf $(ATARI_TARGET_DIR)res/fonts/ss.ttf 211 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraBd.ttf $(ATARI_TARGET_DIR)res/fonts/ssb.ttf 212 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraIt.ttf $(ATARI_TARGET_DIR)res/fonts/ssi.ttf 213 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraBI.ttf $(ATARI_TARGET_DIR)res/fonts/ssib.ttf 214 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraSe.ttf $(ATARI_TARGET_DIR)res/fonts/s.ttf 215 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraSeBd.ttf $(ATARI_TARGET_DIR)res/fonts/sb.ttf 216 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraMono.ttf $(ATARI_TARGET_DIR)res/fonts/mono.ttf 217 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraMoBd.ttf $(ATARI_TARGET_DIR)res/fonts/monob.ttf 218 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraMoIt.ttf $(ATARI_TARGET_DIR)res/fonts/cursive.ttf 219 $(Q)cp $(ATARI_FONT_SOURCE_DIR)VeraMoBI.ttf $(ATARI_TARGET_DIR)res/fonts/fantasy.ttf 220 221 $(Q)cp $(EXETARGET) $(ATARI_TARGET_DIR)$(EXETARGET) 222 223# zip files 224 $(Q)zip $(PKGNAME) -9 -r ./$(ATARI_TARGET_DIR) 225 226# delete temporary folders 227 $(Q)rm -rf $(ATARI_TARGET_DIR) 228