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 |
- |