summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-03-24 14:05:12 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-03-24 14:05:12 +0000
commit59e5b86699b30dddbe173dac2e896764b2a88e46 (patch)
tree6c3cbb7f980b7243d4bc40224d83ba016db58889 /Makefile
parent0e4adae9299ee174fc7f364210d58da4e15c24e7 (diff)
downloadlibhubbub-59e5b86699b30dddbe173dac2e896764b2a88e46.tar.gz
libhubbub-59e5b86699b30dddbe173dac2e896764b2a88e46.tar.bz2
First cut at porting hubbub's buildsystem to the core tools
svn path=/trunk/hubbub/; revision=6837
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile68
1 files changed, 24 insertions, 44 deletions
diff --git a/Makefile b/Makefile
index 72eaeec..53f1381 100644
--- a/Makefile
+++ b/Makefile
@@ -1,55 +1,35 @@
-# Toolchain definitions for building on the destination platform
-CC := gcc
-AR := ar
-LD := gcc
+# Component settings
+COMPONENT := hubbub
+COMPONENT_TYPE := lib-static
-CP := cp
-RM := rm
-MKDIR := mkdir
-MV := mv
-ECHO := echo
-MAKE := make
-PERL := perl
-PKGCONFIG := pkg-config
-INSTALL := install
-SED := sed
-LCOV := lcov
-GENHTML := genhtml
-TOUCH := touch
-DOXYGEN := doxygen
+# Build settings
+TARGET := nix
+LIBEXT := .a
# Toolchain flags
WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -Werror -pedantic
-CFLAGS = -std=c99 -D_BSD_SOURCE -I$(TOP)/include/ $(WARNFLAGS) $(CSHAREDFLAGS)
-RELEASECFLAGS = $(CFLAGS) -DNDEBUG -O2
-DEBUGCFLAGS = $(CFLAGS) -O0 -g
-ARFLAGS := -cru
-LDFLAGS = -L$(TOP)/ $(LDSHAREDFLAGS)
-
-CPFLAGS :=
-RMFLAGS := -f
-MKDIRFLAGS := -p
-MVFLAGS :=
-ECHOFLAGS :=
-MAKEFLAGS :=
-PKGCONFIGFLAGS :=
-TOUCHFLAGS :=
-
-EXEEXT :=
-
-# Default installation prefix
-PREFIX ?= /usr/local
-
-TARGET := nix
+CFLAGS := $(CFLAGS) -std=c99 -D_BSD_SOURCE -I$(CURDIR)/include/ $(WARNFLAGS)
-ifeq ($(BUILD_SHARED),yes)
+include build/makefiles/Makefile.top
-TARGET := nix-shared
-CSHAREDFLAGS := -fPIC -DPIC
-LDSHAREDFLAGS := -Wl,-shared
+# Further toolchain settings which rely on Makefile.top
+CFLAGS := $(CFLAGS) $(shell $(PKGCONFIG) libparserutils --cflags)
+LDFLAGS := $(LDFLAGS) $(shell $(PKGCONFIG) libparserutils --libs)
+ifeq ($(BUILD),release)
+ CFLAGS := $(CFLAGS) -DNDEBUG -O2
+else
+ CFLAGS := $(CFLAGS) -g -O0
endif
-include build/Makefile.common
+# Extra installation rules
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/errors.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/functypes.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/hubbub.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/parser.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/tree.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/hubbub:include/hubbub/types.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(BUILDDIR)/lib$(COMPONENT)$(LIBEXT)