code police : fix some multiply defined variables
[kugel-rb.git] / apps / plugins / chessbox / Makefile
blob4efb40df4cdd0a78a44ecfdda82b5c427184033c
1 # __________ __ ___.
2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 # \/ \/ \/ \/ \/
7 # $Id$
10 INCLUDES = -I$(APPSDIR) -I.. -I. $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(BUILDDIR)/pluginbitmaps -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(OUTDIR) \
12 -I$(BUILDDIR)
13 CFLAGS = $(INCLUDES) $(GCCOPTS) -O2 $(TARGET) $(EXTRA_DEFINES) \
14 -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN
16 ifdef APPEXTRA
17 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
18 endif
20 LINKFILE := $(OBJDIR)/link.lds
21 DEPFILE = $(OBJDIR)/dep-chessbox
22 SRC = chessbox.c gnuchess.c opening.c chessbox_pgn.c
24 SOURCES = $(SRC)
25 OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
26 DIRS = .
28 ifndef SIMVER
29 ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET)))))
30 LDS := archos.lds
31 OUTPUT = $(OUTDIR)/chessbox.ovl
32 else ## iRiver target
33 LDS := ../plugin.lds
34 OUTPUT = $(OUTDIR)/chessbox.rock
35 endif
36 else ## simulators
37 OUTPUT = $(OUTDIR)/chessbox.rock
38 endif
40 all: $(OUTPUT)
42 ifndef SIMVER
43 $(OBJDIR)/chessbox.elf: $(OBJS) $(LINKFILE) $(BITMAPLIBS)
44 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(BUILDDIR) -lplugin -lgcc \
45 $(LINKBITMAPS) -T$(LINKFILE) -Wl,--gc-sections -Wl,-Map,$(OBJDIR)/chessbox.map
47 $(OUTPUT): $(OBJDIR)/chessbox.elf
48 $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@
49 else
51 ifeq ($(SIMVER), x11)
52 ###################################################
53 # This is the X11 simulator version
55 $(OUTPUT): $(OBJS)
56 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -o $@
57 ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
58 # 'x' must be kept or you'll have "Win32 error 5"
59 # $ fgrep 5 /usr/include/w32api/winerror.h | head -1
60 # #define ERROR_ACCESS_DENIED 5L
61 else
62 @chmod -x $@
63 endif
65 else # end of x11-simulator
66 ifeq ($(SIMVER), sdl)
67 ###################################################
68 # This is the SDL simulator version
70 $(OUTPUT): $(OBJS)
71 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $(OBJS) -L$(BUILDDIR) -lplugin $(LINKBITMAPS) -o $@
72 ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
73 # 'x' must be kept or you'll have "Win32 error 5"
74 # $ fgrep 5 /usr/include/w32api/winerror.h | head -1
75 # #define ERROR_ACCESS_DENIED 5L
76 else
77 @chmod -x $@
78 endif
80 else # end of sdl-simulator
81 ###################################################
82 # This is the win32 simulator version
83 DLLTOOLFLAGS = --export-all
84 DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin
86 $(OUTPUT): $(OBJS)
87 $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $(OBJS)
88 $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $(OBJS) \
89 $(BUILDDIR)/libplugin.a $(BITMAPLIBS) -o $@
90 ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
91 # 'x' must be kept or you'll have "Win32 error 5"
92 # $ fgrep 5 /usr/include/w32api/winerror.h | head -1
93 # #define ERROR_ACCESS_DENIED 5L
94 else
95 @chmod -x $@
96 endif
97 endif # end of win32-simulator
98 endif
99 endif # end of simulator section
102 include $(TOOLSDIR)/make.inc
104 # MEMORYSIZE should be passed on to this makefile with the chosen memory size
105 # given in number of MB
106 $(LINKFILE): $(LDS)
107 $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) \
108 $(DEFINES) -E -P - >$@
110 clean:
111 $(call PRINTS,cleaning chessbox)rm -rf $(OBJDIR)/chessbox
112 $(SILENT)rm -f $(OBJDIR)/chessbox.* $(DEPFILE)
114 -include $(DEPFILE)