]> gitweb.michael.orlitzky.com - libsvgtiny.git/commitdiff
Beginnings of port to core buildsystem
authorJohn Mark Bell <jmb@netsurf-browser.org>
Mon, 24 Aug 2009 08:06:29 +0000 (08:06 -0000)
committerJohn Mark Bell <jmb@netsurf-browser.org>
Mon, 24 Aug 2009 08:06:29 +0000 (08:06 -0000)
svn path=/trunk/libsvgtiny/; revision=9419

Makefile
include/svgtiny.h [moved from svgtiny.h with 100% similarity]
src/colors.gperf [moved from colors.gperf with 100% similarity]
src/svgtiny.c [moved from svgtiny.c with 100% similarity]
src/svgtiny_gradient.c [moved from svgtiny_gradient.c with 100% similarity]
src/svgtiny_internal.h [moved from svgtiny_internal.h with 100% similarity]
src/svgtiny_list.c [moved from svgtiny_list.c with 100% similarity]
test/svgtiny_test.c [moved from svgtiny_test.c with 100% similarity]

index 8c33b28ab233aa92c791d8d39cc433d6fecc9e14..40dc091437f50b03d15a0d5e95df99f75ce853e0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,74 +1,32 @@
-#
-# This file is part of Libsvgtiny
-# Licensed under the MIT License,
-#                http://opensource.org/licenses/mit-license.php
-# Copyright 2008 James Bursa <james@semichrome.net>
-#
-
-SOURCE = svgtiny.c svgtiny_gradient.c svgtiny_list.c colors.c
-HDRS = svgtiny.h svgtiny_internal.h
-
-CFLAGS = -std=c99 -W -Wall -Wundef -Wpointer-arith -Wcast-qual \
-       -Wcast-align -Wwrite-strings -Wstrict-prototypes \
-       -Wmissing-prototypes -Wmissing-declarations \
-       -Wnested-externs -Winline -Wno-cast-align
-ARFLAGS = cr
-INSTALL = install
-
-ifeq ($(TARGET),riscos)
-  GCCSDK_INSTALL_CROSSBIN ?= /home/riscos/cross/bin
-  GCCSDK_INSTALL_ENV ?= /home/riscos/env
-  CC := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
-  AR := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*ar)
-  CFLAGS += -Driscos -mpoke-function-name -I$(GCCSDK_INSTALL_ENV)/include \
-       -I$(GCCSDK_INSTALL_ENV)/include/libxml2
-  LIBS = -L$(GCCSDK_INSTALL_ENV)/lib -lxml2 -lz
-  ifneq (,$(findstring arm-unknown-riscos-gcc,$(CC)))
-    EXEEXT := ,e1f
-    SUBTARGET := -elf-
-  else
-    EXEEXT := ,ff8
-    SUBTARGET := -aof-
-  endif
-  PREFIX = $(GCCSDK_INSTALL_ENV)
+# Component settings
+COMPONENT := svgtiny
+COMPONENT_VERSION := 0.0.1
+# Default to a static library
+COMPONENT_TYPE ?= lib-static
+
+# Setup the tooling
+include build/makefiles/Makefile.tools
+
+# Toolchain flags
+WARNFLAGS := -Wall -Wundef -Wpointer-arith -Wcast-align \
+       -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+       -Wmissing-declarations -Wnested-externs -Werror -pedantic
+ifneq ($(GCCVER),2)
+  WARNFLAGS := $(WARNFLAGS) -Wextra
+endif
+CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
+       -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ifneq ($(GCCVER),2)
+  CFLAGS := $(CFLAGS) -std=c99
 else
-  CFLAGS += -g `xml2-config --cflags` -fgnu89-inline
-  LIBS = `xml2-config --libs`
-  PREFIX = /usr/local
+  # __inline__ is a GCCism
+  CFLAGS := $(CFLAGS) -Dinline="__inline__"
 endif
 
-OBJDIR = build-$(TARGET)$(SUBTARGET)objects
-LIBDIR = build-$(TARGET)$(SUBTARGET)lib
-BINDIR = build-$(TARGET)$(SUBTARGET)bin
-
-OBJS = $(addprefix $(OBJDIR)/, $(SOURCE:.c=.o))
-
-.PHONY: all install clean
-
-all: $(LIBDIR)/libsvgtiny.a $(BINDIR)/svgtiny_test$(EXEEXT) colors.c
-
-$(LIBDIR)/libsvgtiny.a: $(OBJS)
-       @echo "    LINK:" $@
-       @mkdir -p $(LIBDIR)
-       @$(AR) $(ARFLAGS) $@ $(OBJS)
-
-$(BINDIR)/svgtiny_test$(EXEEXT): svgtiny_test.c $(LIBDIR)/libsvgtiny.a
-       @echo "    LINK:" $@
-       @mkdir -p $(BINDIR)
-       @$(CC) $(CFLAGS) $(LIBS) -o $@ $^
-
-$(OBJDIR)/%.o: %.c $(HDRS)
-       @echo " COMPILE:" $<
-       @mkdir -p $(OBJDIR)
-       @$(CC) $(CFLAGS) -c -o $@ $<
-
-%.c: %.gperf
-       @echo "   GPERF:" $<
-       @gperf --output-file=$@ $<
-
-install: $(LIBDIR)/libsvgtiny.a
-       $(INSTALL) -t $(PREFIX)/lib $(LIBDIR)/libsvgtiny.a
-       $(INSTALL) -t $(PREFIX)/include svgtiny.h
+include build/makefiles/Makefile.top
 
-clean:
-       -rm -rf $(OBJDIR) $(LIBDIR) $(BINDIR) colors.c
+# Extra installation rules
+I := /include
+INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/svgtiny.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(OUTPUT)
similarity index 100%
rename from svgtiny.h
rename to include/svgtiny.h
similarity index 100%
rename from colors.gperf
rename to src/colors.gperf
similarity index 100%
rename from svgtiny.c
rename to src/svgtiny.c
similarity index 100%
rename from svgtiny_gradient.c
rename to src/svgtiny_gradient.c
similarity index 100%
rename from svgtiny_internal.h
rename to src/svgtiny_internal.h
similarity index 100%
rename from svgtiny_list.c
rename to src/svgtiny_list.c
similarity index 100%
rename from svgtiny_test.c
rename to test/svgtiny_test.c