rockbox/uisimulator/uisimulator.make
Thomas Martitz 23e505b32b Fix reds. libuisimulator.a apparently needs to be linked twice (aka quick fix as I don't know a better solution yet) :/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20830 a1c6a512-1295-4272-9138-f99709370657
2009-04-29 22:58:56 +00:00

40 lines
1.5 KiB
Makefile

# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# $Id$
#
INCLUDES += -I$(ROOTDIR)/uisimulator/sdl -I$(ROOTDIR)/uisimulator/common \
SIMINCLUDES += -I$(ROOTDIR)/uisimulator/sdl -I$(ROOTDIR)/uisimulator/common \
-I$(FIRMDIR)/export $(TARGET_INC) -I$(BUILDDIR) -I$(APPSDIR)
SIMFLAGS += $(SIMINCLUDES) $(DEFINES) -DHAVE_CONFIG_H $(GCCOPTS)
SIMSRC += $(call preprocess, $(ROOTDIR)/uisimulator/sdl/SOURCES)
SIMSRC += $(call preprocess, $(ROOTDIR)/uisimulator/common/SOURCES)
SIMOBJ = $(call c2obj,$(SIMSRC))
OTHER_SRC += $(SIMSRC)
SIMLIB = $(BUILDDIR)/uisimulator/libuisimulator.a
UIBMP = $(BUILDDIR)/UI256.bmp
.SECONDEXPANSION: # $$(OBJ) is not populated until after this
$(SIMLIB): $$(SIMOBJ) $(UIBMP)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
# SIMLIB needs to be linked twice for some reason
$(BUILDDIR)/$(BINARY): $$(OBJ) $(SIMLIB) $(VOICESPEEXLIB) $(FIRMLIB)
$(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(SIMLIB) $(LDOPTS)
$(BUILDDIR)/uisimulator/%.o: $(ROOTDIR)/uisimulator/%.c
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SIMFLAGS) -c $< -o $@
$(UIBMP): $(ROOTDIR)/uisimulator/sdl/UI-$(MODELNAME).bmp
$(call PRINTS,CP $(@F))cp $< $@