]> gitweb.michael.orlitzky.com - libsvgtiny.git/blobdiff - Makefile
examples/svgtiny_display_x11.c: include the system copy of svgtiny.h
[libsvgtiny.git] / Makefile
index 40dc091437f50b03d15a0d5e95df99f75ce853e0..6511191fd38f92511187f2dd20f00fc754a7d58e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,37 @@
+#!/bin/make
+#
+# Makefile for libsvgtiny
+#
+# Copyright 2009-2015 John-Mark Bell <jmb@netsurf-browser.org>
+
 # Component settings
 COMPONENT := svgtiny
-COMPONENT_VERSION := 0.0.1
+COMPONENT_VERSION := 0.1.7
 # Default to a static library
 COMPONENT_TYPE ?= lib-static
 
 # Setup the tooling
-include build/makefiles/Makefile.tools
+PREFIX ?= /opt/netsurf
+NSSHARED ?= $(PREFIX)/share/netsurf-buildsystem
+include $(NSSHARED)/makefiles/Makefile.tools
+
+# Reevaluate when used, as BUILDDIR won't be defined yet
+TESTRUNNER = test/runtest.sh $(BUILDDIR) $(EXEEXT)
 
 # Toolchain flags
-WARNFLAGS := -Wall -Wundef -Wpointer-arith -Wcast-align \
+WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
        -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
-       -Wmissing-declarations -Wnested-externs -Werror -pedantic
-ifneq ($(GCCVER),2)
-  WARNFLAGS := $(WARNFLAGS) -Wextra
+       -Wmissing-declarations -Wnested-externs -pedantic
+# BeOS/Haiku/AmigaOS standard library headers create warnings
+ifneq ($(BUILD),i586-pc-haiku)
+  ifneq ($(findstring amigaos,$(BUILD)),amigaos)
+    WARNFLAGS := $(WARNFLAGS) -Werror
+  endif
 endif
-CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
-       -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+
+CFLAGS := -D_BSD_SOURCE -D_DEFAULT_SOURCE \
+       -I$(CURDIR)/include/ -I$(CURDIR)/src \
+       $(WARNFLAGS) $(CFLAGS)
 ifneq ($(GCCVER),2)
   CFLAGS := $(CFLAGS) -std=c99
 else
@@ -23,10 +39,21 @@ else
   CFLAGS := $(CFLAGS) -Dinline="__inline__"
 endif
 
-include build/makefiles/Makefile.top
+# libdom
+ifneq ($(PKGCONFIG),)
+  CFLAGS := $(CFLAGS) \
+               $(shell $(PKGCONFIG) $(PKGCONFIGFLAGS) --cflags libdom libwapcaplet)
+  LDFLAGS := $(LDFLAGS) -lm \
+               $(shell $(PKGCONFIG) $(PKGCONFIGFLAGS) --libs libdom libwapcaplet)
+else
+  CFLAGS := $(CFLAGS) -I$(PREFIX)/include
+  LDFLAGS := $(CFLAGS) -ldom -lwapcaplet -lexpat -lm
+endif
+
+include $(NSBUILD)/Makefile.top
 
 # Extra installation rules
-I := /include
+I := /$(INCLUDEDIR)
 INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/svgtiny.h
-INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
-INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(OUTPUT)
+INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR)/pkgconfig:lib$(COMPONENT).pc.in
+INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR):$(OUTPUT)