diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 74 |
1 files changed, 74 insertions, 0 deletions
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 <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) +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 |