Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. # Component settings
  2. COMPONENT := hubbub
  3. COMPONENT_VERSION := 0.1.2
  4. # Default to a static library
  5. COMPONENT_TYPE ?= lib-static
  6.  
  7. # Setup the tooling
  8. PREFIX ?= /opt/netsurf
  9. NSSHARED ?= $(PREFIX)/share/netsurf-buildsystem
  10. include $(NSSHARED)/makefiles/Makefile.tools
  11.  
  12. TESTRUNNER := $(PERL) $(NSTESTTOOLS)/testrunner.pl
  13.  
  14. # Toolchain flags
  15. WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
  16.         -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
  17.         -Wmissing-declarations -Wnested-externs -pedantic
  18. # BeOS/Haiku/AmigaOS have standard library errors that issue warnings.
  19. ifneq ($(TARGET),beos)
  20.   ifneq ($(TARGET),amiga)
  21.     WARNFLAGS := $(WARNFLAGS) -Werror
  22.   endif
  23. endif
  24. CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
  25.         -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
  26. ifneq ($(GCCVER),2)
  27.   CFLAGS := $(CFLAGS) -std=c99
  28. else
  29.   # __inline__ is a GCCism
  30.   CFLAGS := $(CFLAGS) -Dinline="__inline__"
  31. endif
  32.  
  33. # Parserutils
  34. ifneq ($(findstring clean,$(MAKECMDGOALS)),clean)
  35.   ifneq ($(PKGCONFIG),)
  36.     CFLAGS := $(CFLAGS) $(shell $(PKGCONFIG) libparserutils --cflags)
  37.     LDFLAGS := $(LDFLAGS) $(shell $(PKGCONFIG) libparserutils --libs)
  38.   else
  39.     CFLAGS := $(CFLAGS) -I$(PREFIX)/include
  40.     LDFLAGS := $(LDFLAGS) -lparserutils
  41.   endif
  42. endif
  43.  
  44. include $(NSBUILD)/Makefile.top
  45.  
  46. ifeq ($(WANT_TEST),yes)
  47.   # We require the presence of libjson -- http://oss.metaparadigm.com/json-c/
  48.   ifneq ($(PKGCONFIG),)
  49.     TESTCFLAGS := $(TESTCFLAGS) \
  50.                 $(shell $(PKGCONFIG) $(PKGCONFIGFLAGS) --cflags json)
  51.     TESTLDFLAGS := $(TESTLDFLAGS) \
  52.                 $(shell $(PKGCONFIG) $(PKGCONFIGFLAGS) --libs json)
  53.   else
  54.     TESTCFLAGS := $(TESTCFLAGS) -I$(PREFIX)/include/json
  55.     TESTLDFLAGS := $(TESTLDFLAGS) -ljson
  56.   endif
  57.  
  58.   ifneq ($(GCCVER),2)
  59.     TESTCFLAGS := $(TESTCFLAGS) -Wno-unused-parameter
  60.   endif
  61. endif
  62.  
  63. # Extra installation rules
  64. I := /include/hubbub
  65. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/errors.h
  66. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/functypes.h
  67. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/hubbub.h
  68. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/parser.h
  69. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/tree.h
  70. INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/hubbub/types.h
  71. INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
  72. INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(OUTPUT)
  73.