From 59e5b86699b30dddbe173dac2e896764b2a88e46 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 24 Mar 2009 14:05:12 +0000 Subject: First cut at porting hubbub's buildsystem to the core tools svn path=/trunk/hubbub/; revision=6837 --- Makefile | 68 +++++++++++++++++++++++----------------------------------------- 1 file changed, 24 insertions(+), 44 deletions(-) (limited to 'Makefile') 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) -- cgit v1.2.3