Add "elfzip" target to make which creates a zip of all elf files, as mapzip does...
[maemo-rb.git] / lib / skin_parser / Makefile
blobfe417dbc5837c44e0827bda27f914b2ff908ccb3
1 # __________ __ ___.
2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 # \/ \/ \/ \/ \/
7 # $Id$
10 ifndef V
11 SILENT = @
12 endif
14 CC ?= gcc
15 AR ?= ar
16 OUTPUT=libskin_parser
17 TARGET_DIR ?= ./
19 # construct build directory if BUILDDIR is not set.
20 BUILDDIR ?= $(TARGET_DIR)build
22 ifdef RBARCH
23 CFLAGS += -arch $(RBARCH)
24 OBJDIR = $(BUILDDIR)/$(RBARCH)/
25 else
26 OBJDIR = $(BUILDDIR)/
27 endif
29 # input files
30 SOURCES := skin_buffer.c skin_debug.c skin_parser.c skin_scan.c tag_table.c
31 OBJS := $(patsubst %.c,%.o,$(addprefix $(OBJDIR),$(SOURCES)))
33 all: $(OUTPUT).a
35 $(OBJDIR)%.o: %.c
36 @echo CC $<
37 $(SILENT)mkdir -p $(dir $@)
38 $(SILENT)$(CC) $(CFLAGS) -c -o $@ $<
40 ifeq ($(findstring Darwin,$(shell uname)),Darwin)
41 # some trickery to build ppc and i386 from a single call
42 $(OUTPUT).a: $(TARGET_DIR)$(OUTPUT)i386.a $(TARGET_DIR)$(OUTPUT)ppc.a
43 @echo lipo $(TARGET_DIR)$@
44 $(SILENT) rm -f $(TARGET_DIR)$(OUTPUT)
45 $(SILENT)lipo -create $(TARGET_DIR)$(OUTPUT)ppc.a $(TARGET_DIR)$(OUTPUT)i386.a -output $(TARGET_DIR)$(OUTPUT).a
47 ifneq ($(RBARCH),)
48 $(OUTPUT)$(RBARCH).a: $(OBJS)
49 @echo AR $@
50 $(SILENT)$(AR) ruc $(TARGET_DIR)$@ $^
51 else
52 $(TARGET_DIR)$(OUTPUT)i386.a:
53 make RBARCH=i386 TARGET_DIR=$(TARGET_DIR) $(OUTPUT)i386.a
55 $(TARGET_DIR)$(OUTPUT)ppc.a:
56 make RBARCH=ppc TARGET_DIR=$(TARGET_DIR) $(OUTPUT)ppc.a
57 endif
58 else
59 $(OUTPUT).a: $(OBJS)
60 @echo AR $@
61 $(SILENT)$(AR) ruc $(TARGET_DIR)$@ $^
62 endif
64 clean:
65 rm -f $(OBJS) $(OUTPUT) $(TARGET_DIR)$(OUTPUT)*.a
66 ifeq ($(findstring Darwin,$(shell uname)),Darwin)
67 endif