From 729b244809295dad81e0510f9d0bcd7a4c00ec00 Mon Sep 17 00:00:00 2001 From: John Tytgat Date: Sun, 1 Feb 2009 17:57:22 +0000 Subject: Prefix build dirs with build- and svn ignore them. Simplify clean rule. svn path=/trunk/libsvgtiny/; revision=6336 --- Makefile | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8c33b28 --- /dev/null +++ b/Makefile @@ -0,0 +1,74 @@ +# +# This file is part of Libsvgtiny +# Licensed under the MIT License, +# http://opensource.org/licenses/mit-license.php +# Copyright 2008 James Bursa +# + +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) +else + CFLAGS += -g `xml2-config --cflags` -fgnu89-inline + LIBS = `xml2-config --libs` + PREFIX = /usr/local +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 + +clean: + -rm -rf $(OBJDIR) $(LIBDIR) $(BINDIR) colors.c -- cgit v1.2.3