1#!/bin/make
2#
3# Makefile for libnspsl
4#
5# Copyright 2016 Vincent Sanders <vince@netsurf-browser.org>
6
7# Component settings
8COMPONENT := nspsl
9COMPONENT_VERSION := 0.1.6
10# Default to a static library
11COMPONENT_TYPE ?= lib-static
12
13# Setup the tooling
14PREFIX ?= /opt/netsurf
15NSSHARED ?= $(PREFIX)/share/netsurf-buildsystem
16include $(NSSHARED)/makefiles/Makefile.tools
17
18# Reevaluate when used, as BUILDDIR won't be defined yet
19TESTRUNNER = test/runtest.sh $(BUILDDIR) $(EXEEXT)
20
21# Toolchain flags
22WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
23	-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
24	-Wmissing-declarations -Wnested-externs
25
26CFLAGS := -D_GNU_SOURCE -D_DEFAULT_SOURCE \
27	-I$(CURDIR)/include/ -I$(CURDIR)/src \
28	$(WARNFLAGS) $(CFLAGS)
29ifneq ($(GCCVER),2)
30  CFLAGS := $(CFLAGS) -std=c99
31else
32  # __inline__ is a GCCism
33  CFLAGS := $(CFLAGS) -Dinline="__inline__"
34endif
35CFLAGS := $(CFLAGS) -D_POSIX_C_SOURCE=200809L
36
37REQUIRED_LIBS := nspsl
38
39TESTCFLAGS := -g -O2
40TESTLDFLAGS := -l$(COMPONENT) $(TESTLDFLAGS)
41
42include $(NSBUILD)/Makefile.top
43
44# Extra installation rules
45I := /$(INCLUDEDIR)
46INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/nspsl.h
47INSTALL_ITEMS := $(INSTALL_ITEMS) /libdata/pkgconfig:lib$(COMPONENT).pc.in
48INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(OUTPUT)
49
50# obtain public suffix list database from upstream
51public_suffix_list.dat:
52	wget -O $@ https://publicsuffix.org/list/public_suffix_list.dat
53