summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-03-29 01:30:16 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-03-29 01:30:16 +0000
commit0b32a222231826bc894557c322f1f1b908103e3c (patch)
treed2466b83e46e3d093f2ab714668b8f9a9a90e477 /Makefile
parent97605136e418460d34df2f05b93d7281927eafb5 (diff)
downloadlibnsbmp-0b32a222231826bc894557c322f1f1b908103e3c.tar.gz
libnsbmp-0b32a222231826bc894557c322f1f1b908103e3c.tar.bz2
First cut at a port to the new buildsystem
svn path=/trunk/libnsbmp/; revision=6981
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile116
1 files changed, 21 insertions, 95 deletions
diff --git a/Makefile b/Makefile
index f720120..53d214b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,95 +1,21 @@
-#
-# This file is part of Libnsbmp
-#
-
-SOURCE = libnsbmp.c
-HDRS = libnsbmp.h utils/log.h
-
-CFLAGS = -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
- -Wwrite-strings -Wstrict-prototypes \
- -Wnested-externs -pedantic -std=c99 \
- -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 \
- -Wmissing-format-attribute -Wunused -Wunreachable-code \
- -Wformat=2 -Werror-implicit-function-declaration \
- -Wmissing-declarations -Wmissing-prototypes
-ARFLAGS = -cr
-INSTALL = install
-SED = sed
-DOXYGEN = doxygen
-
-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
- LIBS = -L$(GCCSDK_INSTALL_ENV)/lib
- ifneq (,$(findstring arm-unknown-riscos-gcc,$(CC)))
- EXEEXT := ,e1f
- SUBTARGET := -elf-
- else
- EXEEXT := ,ff8
- SUBTARGET := -aof-
- endif
- PREFIX = $(GCCSDK_INSTALL_ENV)
-else
- CFLAGS += -g
- LIBS =
- PREFIX = /usr/local
-endif
-
--include Makefile.config
-
-OBJDIR = build-$(TARGET)$(SUBTARGET)objects
-LIBDIR = build-$(TARGET)$(SUBTARGET)lib
-BINDIR = build-$(TARGET)$(SUBTARGET)bin
-
-OBJS = $(addprefix $(OBJDIR)/, $(SOURCE:.c=.o))
-
-.PHONY: all clean docs install uninstall
-
-all: $(LIBDIR)/libnsbmp.a $(BINDIR)/decode_bmp$(EXEEXT) $(BINDIR)/decode_ico$(EXEEXT)
-
-$(LIBDIR)/libnsbmp.a: $(OBJS) $(LIBDIR)/libnsbmp.pc
- @echo " LINK:" $@
- @mkdir -p $(LIBDIR)
- @$(AR) $(ARFLAGS) $@ $(OBJS)
-
-$(LIBDIR)/libnsbmp.pc: libnsbmp.pc.in
- @echo " SED:" $@
- @mkdir -p $(LIBDIR)
- @$(SED) -e 's#PREFIX#$(PREFIX)#' $^ > $@
-
-$(BINDIR)/decode_bmp$(EXEEXT): examples/decode_bmp.c $(LIBDIR)/libnsbmp.a
- @echo " LINK:" $@
- @mkdir -p $(BINDIR)
- @$(CC) $(CFLAGS) -I. -o $@ $^
-
-$(BINDIR)/decode_ico$(EXEEXT): examples/decode_ico.c $(LIBDIR)/libnsbmp.a
- @echo " LINK:" $@
- @mkdir -p $(BINDIR)
- @$(CC) $(CFLAGS) -I. -o $@ $^
-
-$(OBJDIR)/%.o: %.c $(HDRS)
- @echo " COMPILE:" $<
- @mkdir -p $(OBJDIR)
- @$(CC) $(CFLAGS) -c -o $@ $<
-
-docs:
- ${DOXYGEN}
-
-install: $(LIBDIR)/libnsbmp.a $(LIBDIR)/libnsbmp.pc
- mkdir -p $(DESTDIR)$(PREFIX)/lib/pkgconfig
- mkdir -p $(DESTDIR)$(PREFIX)/lib
- mkdir -p $(DESTDIR)$(PREFIX)/include
- $(INSTALL) -m 644 $(LIBDIR)/libnsbmp.a $(DESTDIR)$(PREFIX)/lib
- $(INSTALL) -m 644 libnsbmp.h $(DESTDIR)$(PREFIX)/include
- $(INSTALL) -m 644 $(LIBDIR)/libnsbmp.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig
-
-uninstall:
- rm $(DESTDIR)$(PREFIX)/lib/libnsbmp.a
- rm $(DESTDIR)$(PREFIX)/include/libnsbmp.h
- rm $(DESTDIR)$(PREFIX)/lib/pkgconfig/libnsbmp.pc
-
-clean:
- -rm -rf $(OBJDIR) $(LIBDIR) $(BINDIR) doc
+# Component settings
+COMPONENT := nsbmp
+# Default to a static library
+COMPONENT_TYPE ?= lib-static
+
+# Setup the tooling
+include build/makefiles/Makefile.tools
+
+# Toolchain flags
+WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs -Werror -pedantic
+CFLAGS := $(CFLAGS) -std=c99 -D_BSD_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS)
+
+include build/makefiles/Makefile.top
+
+# Extra installation rules
+INSTALL_ITEMS := $(INSTALL_ITEMS) /include:include/libnsbmp.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib/pkgconfig:lib$(COMPONENT).pc.in
+INSTALL_ITEMS := $(INSTALL_ITEMS) /lib:$(BUILDDIR)/lib$(COMPONENT)$(LIBEXT)