summaryrefslogtreecommitdiff
path: root/framebuffer/Makefile.target
blob: bd356ef82ce45f2ab99a0ac7e54180f48a0e7add (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# ----------------------------------------------------------------------------
# Framebuffer target setup
# ----------------------------------------------------------------------------



  $(eval $(call feature_enabled,MNG,-DWITH_MNG,-lmng,PNG/MNG/JNG (libmng)))
  $(eval $(call feature_enabled,PNG,-DWITH_PNG,-lpng,PNG (libpng)  ))

  ifeq ($(NETSURF_FB_FONTLIB),freetype)
    CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags)
    LDFLAGS += $(shell freetype-config --libs)
  endif

  # define additional CFLAGS and LDFLAGS requirements for pkg-configed libs here
  NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG
  NETSURF_FEATURE_ROSPRITE_CFLAGS := -DWITH_NSSPRITE
  NETSURF_FEATURE_HUBBUB_CFLAGS := -DWITH_HUBBUB
  NETSURF_FEATURE_BMP_CFLAGS := -DWITH_BMP
  NETSURF_FEATURE_GIF_CFLAGS := -DWITH_GIF

  CFLAGS += -Dnsframebuffer 

  #resource path
  CFLAGS += '-DNETSURF_FB_RESPATH="$(NETSURF_FB_RESPATH_$(NETSURF_FB_FRONTEND))"'

  # compile time font locations
  CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF="$(NETSURF_FB_FONT_SANS_SERIF)"'
  CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_BOLD="$(NETSURF_FB_FONT_SANS_SERIF_BOLD)"'
  CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC="$(NETSURF_FB_FONT_SANS_SERIF_ITALIC)"'
  CFLAGS += '-DNETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD="$(NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD)"'
  CFLAGS += '-DNETSURF_FB_FONT_SERIF="$(NETSURF_FB_FONT_SERIF)"'
  CFLAGS += '-DNETSURF_FB_FONT_SERIF_BOLD="$(NETSURF_FB_FONT_SERIF_BOLD)"'
  CFLAGS += '-DNETSURF_FB_FONT_MONOSPACE="$(NETSURF_FB_FONT_MONOSPACE)"'
  CFLAGS += '-DNETSURF_FB_FONT_MONOSPACE_BOLD="$(NETSURF_FB_FONT_MONOSPACE_BOLD)"'
  CFLAGS += '-DNETSURF_FB_FONT_CURSIVE="$(NETSURF_FB_FONT_CURSIVE)"'
  CFLAGS += '-DNETSURF_FB_FONT_FANTASY="$(NETSURF_FB_FONT_FANTASY)"'

  $(eval $(call pkg_config_find_and_add,ROSPRITE,librosprite,Sprite))
  $(eval $(call pkg_config_find_and_add,BMP,libnsbmp,BMP))
  $(eval $(call pkg_config_find_and_add,GIF,libnsgif,GIF))

  CFLAGS += -std=c99 -g -I. -Dsmall $(WARNFLAGS) \
		-D_BSD_SOURCE \
		-D_XOPEN_SOURCE=600 \
		-D_POSIX_C_SOURCE=200112L \
		$(shell $(PKG_CONFIG) --cflags libnsfb libhubbub libcss openssl) \
		$(shell xml2-config --cflags)

  ifeq ($(HOST),mint)
    # freemint does not support pkg-config for libcurl
    CFLAGS += $(shell curl-config --cflags)
  else
    CFLAGS += $(shell $(PKG_CONFIG) --cflags libcurl)
  endif

  LDFLAGS += -Wl,--whole-archive $(shell $(PKG_CONFIG) --libs libnsfb) -Wl,--no-whole-archive 

  ifeq ($(HOST),mint)
    LDFLAGS += $(shell curl-config --libs)
    LDFLAGS += $(shell $(PKG_CONFIG) --libs libhubbub openssl libcss)
    # xml-config returns -lsocket which is not needed and does not exist on all systems. 
    # because of that - hardcoded reference to libxml-2.0 here.
    LDFLAGS += -L/usr/lib/ -lxml2 -lz -liconv 
    LDFLAGS += -lm
  else
    LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl libhubbub openssl)
    LDFLAGS += $(shell $(PKG_CONFIG) --libs libcss)
  endif