summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-03-26 12:11:12 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-03-26 12:11:12 +0000
commitefa2584f3052c520e12f91cb74090735ae75e9be (patch)
tree08b8374ace3f1a191b63c48c318fcc0a40e442cd /Makefile
parentce231ac3f456d2e92730d344cda1578eaf1d8add (diff)
downloadiconv-efa2584f3052c520e12f91cb74090735ae75e9be.tar.gz
iconv-efa2584f3052c520e12f91cb74090735ae75e9be.tar.bz2
First attempt at using the core buildsystem
svn path=/trunk/iconv/; revision=6897
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile94
1 files changed, 52 insertions, 42 deletions
diff --git a/Makefile b/Makefile
index 372eb1e..c8bae83 100644
--- a/Makefile
+++ b/Makefile
@@ -1,47 +1,57 @@
-# Toolchain definitions for building on the destination platform
-HOST_CC := gcc
-
-CC := gcc
-AR := ar
-LD := gcc
-
-CP := cp
-RM := rm
-MKDIR := mkdir
-MV := mv
-ECHO := echo
-MAKE := make
-PERL := perl
-PKGCONFIG := pkg-config
-INSTALL := install
-SED := sed
-TOUCH := touch
-LCOV := lcov
-GENHTML := genhtml
+# Component settings
+COMPONENT := iconv
+# Default to a static library
+COMPONENT_TYPE ?= lib-static
+
+# Setup the tooling
+include build/makefiles/Makefile.tools
+
+TESTRUNNER := $(PERL) build/testtools/testrunner.pl
# 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)
-RELEASECFLAGS = $(CFLAGS) -DNDEBUG -O0 -g
-DEBUGCFLAGS = $(CFLAGS) -O0 -g
-ARFLAGS := -cru
-LDFLAGS = -L$(TOP)/ -L$(TOP)/unicode/lib/
-
-CPFLAGS :=
-RMFLAGS := -f
-MKDIRFLAGS := -p
-MVFLAGS :=
-ECHOFLAGS :=
-MAKEFLAGS :=
-PKGCONFIGFLAGS :=
-TOUCHFLAGS :=
-
-EXEEXT :=
-
-# Default installation prefix
-PREFIX ?= /usr/local
-
-
-include build/Makefile.common
+CFLAGS := $(CFLAGS) -std=c99 -D_BSD_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS)
+
+ifeq ($(TARGET),riscos)
+ LDFLAGS := $(LDFLAGS) -L$(CURDIR)/unicode/libro
+else
+ LDFLAGS := $(LDFLAGS) -L$(CURDIR)/unicode/lib
+endif
+
+include build/makefiles/Makefile.top
+
+# Extra installation rules
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include/iconv:include/iconv/iconv.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(BUILDDIR)/lib$(COMPONENT)$(LIBEXT)
+
+ifeq ($(TARGET),riscos)
+ # And the RISC OS-specific targets
+
+ DISTCLEAN_ITEMS := $(DISTCLEAN_ITEMS) iconv.zip iconv-pkg.zip
+
+ .PHONY: riscos-dist
+
+ riscos-dist: all
+ @svn export riscos riscos-dist
+ @$(CP) $(CPFLAGS) riscos/!Boot/Resources/!Unicode/Files/Aliases \
+ riscos-dist/!Boot/Resources/!Unicode/Files/
+ @$(CP) $(CPFLAGS) Iconv,ffa riscos-dist/!System/310/Modules/
+ @svn export doc riscos-dist/doc
+ @$(RM) $(RMFLAGS) -r riscos-dist/doc/Standards
+ @$(CP) $(CPFLAGS) include/iconv/iconv.h riscos-dist/stubs/
+ @(cd riscos-dist ; $(GCCSDK_INSTALL_ENV)/bin/zip -9r, ../iconv.zip *)
+ @$(MV) $(MVFLAGS) riscos-dist/!Boot/Resources riscos-dist
+ @$(RM) $(RMFLAGS) -r riscos-dist/!Boot
+ @$(MV) $(MVFLAGS) riscos-dist/!System riscos-dist/System
+ @$(RM) $(RMFLAGS) -r riscos-dist/doc riscos-dist/stubs
+ @$(RM) $(RMFLAGS) riscos-dist/ReadMe
+ @svn export riscpkg/RiscPkg riscos-dist/RiscPkg
+ @$(CP) $(CPFLAGS) COPYING riscos-dist/RiscPkg/Copyright
+ @(cd riscos-dist ; $(GCCSDK_INSTALL_ENV)/bin/zip -9r, ../iconv-pkg.zip *)
+ @$(RM) $(RMFLAGS) -r riscos-dist
+
+endif