Subversion Repositories Kolibri OS

Rev

Rev 4821 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4821 Rev 4823
Line 1... Line 1...
1
# Component settings
1
# This is the makefile in kolibrios/contrib/network/netsurf/libcss
2
COMPONENT := nsfb
-
 
3
COMPONENT_VERSION := 0.0.2
-
 
4
# Default to a static library
2
# Need to add recursive calling to all the subdirectories. For now, use the generated .a file for testing.
5
COMPONENT_TYPE ?= lib-static
-
 
Line 6... Line -...
6
 
-
 
7
# Setup the tooling
-
 
8
#PREFIX ?= /opt/netsurf
-
 
9
PREFIX ?= /usr
3
 
10
NSSHARED ?= $(PREFIX)/share/netsurf-buildsystem
-
 
Line -... Line 4...
-
 
4
OUTFILE := $(CURDIR)/libnsfb.a
11
include $(NSSHARED)/makefiles/Makefile.tools
5
 
12
 
6
OBJS = $(wildcard src/libo.o)
Line 13... Line -...
13
# Reevaluate when used, as BUILDDIR won't be defined yet
-
 
14
TESTRUNNER = test/runtest.sh $(BUILDDIR) $(EXEEXT)
-
 
15
 
-
 
16
# Toolchain flags
-
 
17
WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
-
 
18
	-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
-
 
19
	-Wmissing-declarations -Wnested-externs -Werror -pedantic \
-
 
20
	-Wno-overlength-strings # For nsglobe.c
-
 
21
CFLAGS := -g -std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112L \
-
 
22
	-I$(CURDIR)/include/ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
-
 
23
 
-
 
24
NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom
-
 
25
 
-
 
26
$(eval $(call pkg_config_package_available,NSFB_VNC_AVAILABLE,libvncserver))
-
 
27
$(eval $(call pkg_config_package_available,NSFB_SDL_AVAILABLE,sdl))
-
 
28
$(eval $(call pkg_config_package_available,NSFB_XCB_AVAILABLE,$(NSFB_XCB_PKG_NAMES)))
-
 
29
 
-
 
30
ifeq ($(NSFB_SDL_AVAILABLE),yes)
-
 
31
  $(eval $(call pkg_config_package_add_flags,sdl,CFLAGS))
-
 
32
  $(eval $(call pkg_config_package_add_flags,sdl,TESTCFLAGS,TESTLDFLAGS))
-
 
33
 
-
 
34
  REQUIRED_PKGS := $(REQUIRED_PKGS) sdl
-
 
35
endif 
-
 
36
 
-
 
37
ifeq ($(NSFB_XCB_AVAILABLE),yes)
-
 
38
  # Size hint allocators were removed in xcb-icccm 0.3.0
-
 
39
  $(eval $(call pkg_config_package_min_version,NSFB_XCB_ICCCM_SIZE_HINTS,xcb-icccm,0.3.0))
-
 
40
  ifeq ($(NSFB_XCB_ICCCM_SIZE_HINTS),yes)
-
 
41
    CFLAGS := $(CFLAGS) -DNSFB_NEED_HINTS_ALLOC
-
 
42
  endif
-
 
43
 
-
 
44
  # xcb-icccm 0.3.8 introduced an additional "icccm_" in function names
-
 
45
  $(eval $(call pkg_config_package_min_version,NSFB_XCB_ICCCM_API_PREFIX,xcb-icccm,0.3.8))
-
 
46
  ifeq ($(NSFB_XCB_ICCCM_API_PREFIX),yes)
-
 
47
    CFLAGS := $(CFLAGS) -DNSFB_NEED_ICCCM_API_PREFIX
-
 
48
  endif
-
 
49
 
-
 
50
  # xcbproto 1.6 incorporated atoms previously found in xcb_atom
-
 
51
  # However, libxcb <1.3 did not report xcbproto versions. Assume xcbproto 1.5 in this case.
-
 
52
  $(eval $(call pkg_config_package_min_version,NSFB_HAVE_MODERN_XCB,xcb,1.3))
-
 
53
  ifeq ($(NSFB_HAVE_MODERN_XCB),yes)
-
 
54
    $(eval $(call pkg_config_get_variable,NSFB_XCBPROTO_VERSION,xcb,xcbproto_version))
-
 
55
    NSFB_XCBPROTO_MAJOR_VERSION := $(word 1,$(subst ., ,$(NSFB_XCBPROTO_VERSION)))
-
 
56
    NSFB_XCBPROTO_MINOR_VERSION := $(word 2,$(subst ., ,$(NSFB_XCBPROTO_VERSION)))
-
 
57
    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MAJOR_VERSION=$(NSFB_XCBPROTO_MAJOR_VERSION)
-
 
58
    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MINOR_VERSION=$(NSFB_XCBPROTO_MINOR_VERSION)
-
 
59
  else
-
 
60
    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MAJOR_VERSION=1
-
 
61
    CFLAGS := $(CFLAGS) -DNSFB_XCBPROTO_MINOR_VERSION=5
-
 
62
  endif
-
 
63
 
-
 
64
  $(eval $(call pkg_config_package_add_flags,$(NSFB_XCB_PKG_NAMES),CFLAGS))
-
 
65
  $(eval $(call pkg_config_package_add_flags,$(NSFB_XCB_PKG_NAMES),TESTCFLAGS,TESTLDFLAGS))
-
 
66
 
-
 
67
  REQUIRED_PKGS := $(REQUIRED_PKGS) $(NSFB_XCB_PKG_NAMES)
-
 
68
 
-
 
69
  $(eval $(call pkg_config_package_available,NSFB_XCB_UTIL_AVAILABLE,xcb-util))
-
 
70
  ifeq ($(NSFB_XCB_UTIL_AVAILABLE),yes)
-
 
71
    REQUIRED_PKGS := $(REQUIRED_PKGS) xcb-util
-
 
72
  endif
-
 
73
endif
-
 
74
 
-
 
75
ifeq ($(NSFB_VNC_AVAILABLE),yes)
-
 
76
  $(eval $(call pkg_config_package_add_flags,libvncserver,CFLAGS))
-
 
77
  $(eval $(call pkg_config_package_add_flags,libvncserver,TESTCFLAGS,TESTLDFLAGS))
-
 
78
 
-
 
79
  REQUIRED_PKGS := $(REQUIRED_PKGS) libvncserver
-
 
80
endif 
-
 
81
 
7
OBJS := $(OBJS) $(wildcard src/plot/libo.o)
82
TESTLDFLAGS := -lm -Wl,--whole-archive -l$(COMPONENT) -Wl,--no-whole-archive $(TESTLDFLAGS)
-
 
83
 
-
 
84
include $(NSBUILD)/Makefile.top
-
 
85
 
-
 
86
# Extra installation rules
-
 
87
I := /include
-
 
88
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libnsfb.h
-
 
89
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libnsfb_plot.h
-
 
90
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libnsfb_plot_util.h
-
 
91
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libnsfb_event.h
-