diff options
Diffstat (limited to 'apps/plugins/chessbox')
-rw-r--r-- | apps/plugins/chessbox/Makefile | 114 | ||||
-rw-r--r-- | apps/plugins/chessbox/SOURCES | 4 | ||||
-rw-r--r-- | apps/plugins/chessbox/chessbox.c | 2 | ||||
-rw-r--r-- | apps/plugins/chessbox/chessbox.make | 58 |
4 files changed, 63 insertions, 115 deletions
diff --git a/apps/plugins/chessbox/Makefile b/apps/plugins/chessbox/Makefile deleted file mode 100644 index 4efb40df4c..0000000000 --- a/apps/plugins/chessbox/Makefile +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id$ | ||
8 | # | ||
9 | |||
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 | ||
15 | |||
16 | ifdef APPEXTRA | ||
17 | INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) | ||
18 | endif | ||
19 | |||
20 | LINKFILE := $(OBJDIR)/link.lds | ||
21 | DEPFILE = $(OBJDIR)/dep-chessbox | ||
22 | SRC = chessbox.c gnuchess.c opening.c chessbox_pgn.c | ||
23 | |||
24 | SOURCES = $(SRC) | ||
25 | OBJS := $(SRC:%.c=$(OBJDIR)/%.o) | ||
26 | DIRS = . | ||
27 | |||
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 | ||
39 | |||
40 | all: $(OUTPUT) | ||
41 | |||
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 | ||
46 | |||
47 | $(OUTPUT): $(OBJDIR)/chessbox.elf | ||
48 | $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@ | ||
49 | else | ||
50 | |||
51 | ifeq ($(SIMVER), x11) | ||
52 | ################################################### | ||
53 | # This is the X11 simulator version | ||
54 | |||
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 | ||
64 | |||
65 | else # end of x11-simulator | ||
66 | ifeq ($(SIMVER), sdl) | ||
67 | ################################################### | ||
68 | # This is the SDL simulator version | ||
69 | |||
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 | ||
79 | |||
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 | ||
85 | |||
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 | ||
100 | |||
101 | |||
102 | include $(TOOLSDIR)/make.inc | ||
103 | |||
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 - >$@ | ||
109 | |||
110 | clean: | ||
111 | $(call PRINTS,cleaning chessbox)rm -rf $(OBJDIR)/chessbox | ||
112 | $(SILENT)rm -f $(OBJDIR)/chessbox.* $(DEPFILE) | ||
113 | |||
114 | -include $(DEPFILE) | ||
diff --git a/apps/plugins/chessbox/SOURCES b/apps/plugins/chessbox/SOURCES new file mode 100644 index 0000000000..067e3f084a --- /dev/null +++ b/apps/plugins/chessbox/SOURCES | |||
@@ -0,0 +1,4 @@ | |||
1 | chessbox.c | ||
2 | gnuchess.c | ||
3 | opening.c | ||
4 | chessbox_pgn.c | ||
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c index f34bdbf24a..f8db7d9b7f 100644 --- a/apps/plugins/chessbox/chessbox.c +++ b/apps/plugins/chessbox/chessbox.c | |||
@@ -43,7 +43,7 @@ extern const fb_data chessbox_pieces[]; | |||
43 | PLUGIN_HEADER | 43 | PLUGIN_HEADER |
44 | 44 | ||
45 | /* Tile size defined by the assigned bitmap */ | 45 | /* Tile size defined by the assigned bitmap */ |
46 | #include "chessbox_pieces.h" | 46 | #include "pluginbitmaps/chessbox_pieces.h" |
47 | #define TILE_WIDTH BMPWIDTH_chessbox_pieces | 47 | #define TILE_WIDTH BMPWIDTH_chessbox_pieces |
48 | #define TILE_HEIGHT (BMPHEIGHT_chessbox_pieces/26) | 48 | #define TILE_HEIGHT (BMPHEIGHT_chessbox_pieces/26) |
49 | 49 | ||
diff --git a/apps/plugins/chessbox/chessbox.make b/apps/plugins/chessbox/chessbox.make new file mode 100644 index 0000000000..d42984c771 --- /dev/null +++ b/apps/plugins/chessbox/chessbox.make | |||
@@ -0,0 +1,58 @@ | |||
1 | # __________ __ ___. | ||
2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
6 | # \/ \/ \/ \/ \/ | ||
7 | # $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $ | ||
8 | # | ||
9 | |||
10 | CHESSBOX_SRCDIR = $(APPSDIR)/plugins/chessbox | ||
11 | CHESSBOX_OBJDIR = $(BUILDDIR)/apps/plugins/chessbox | ||
12 | |||
13 | CHESSBOX_SRC := $(call preprocess, $(CHESSBOX_SRCDIR)/SOURCES) | ||
14 | CHESSBOX_OBJ := $(call c2obj, $(CHESSBOX_SRC)) | ||
15 | |||
16 | OTHER_SRC += $(CHESSBOX_SRC) | ||
17 | |||
18 | ifndef SIMVER | ||
19 | ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET))))) | ||
20 | ## archos recorder targets | ||
21 | CHESSBOX_INLDS := $(CHESSBOX_SRCDIR)/archos.lds | ||
22 | ROCKS += $(CHESSBOX_OBJDIR)/chessbox.ovl | ||
23 | else | ||
24 | ### all other targets | ||
25 | CHESSBOX_INLDS := $(APPSDIR)/plugins/plugin.lds | ||
26 | ROCKS += $(CHESSBOX_OBJDIR)/chessbox.rock | ||
27 | endif | ||
28 | CHESSBOX_OVLFLAGS = -T$(CHESSBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$*.map | ||
29 | CHESSBOX_OUTLDS = $(CHESSBOX_OBJDIR)/chessbox.lds | ||
30 | else | ||
31 | ### simulator | ||
32 | ROCKS += $(CHESSBOX_OBJDIR)/chessbox.rock | ||
33 | CHESSBOX_OVLFLAGS = $(SHARED_FLAG) # <-- from Makefile | ||
34 | endif | ||
35 | |||
36 | ifeq ($(CPU),sh) | ||
37 | # sh need to retain its' -Os | ||
38 | CHESSBOXFLAGS = $(PLUGINFLAGS) | ||
39 | else | ||
40 | CHESSBOXFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O2 | ||
41 | endif | ||
42 | |||
43 | $(CHESSBOX_OUTLDS): $(CHESSBOX_INLDS) $(CHESSBOX_OBJ) | ||
44 | $(call PRINTS,PP $(<F))$(call preprocess2file,$<,$@) | ||
45 | |||
46 | $(CHESSBOX_OBJDIR)/chessbox.rock: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS) $(PLUGINBITMAPLIB) | ||
47 | |||
48 | $(CHESSBOX_OBJDIR)/chessbox.ovl: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS) $(PLUGINBITMAPLIB) | ||
49 | $(SILENT)$(CC) $(PLUGINFLAGS) -o $(CHESSBOX_OBJDIR)/$*.elf \ | ||
50 | $(filter %.o, $^) \ | ||
51 | $(filter %.a, $^) \ | ||
52 | -lgcc $(CHESSBOX_OVLFLAGS) | ||
53 | $(call PRINTS,LD $(@F))$(OC) -O binary $(CHESSBOX_OBJDIR)/$*.elf $@ | ||
54 | |||
55 | # special pattern rule for compiling chessbox with extra flags | ||
56 | $(CHESSBOX_OBJDIR)/%.o: $(CHESSBOX_SRCDIR)/%.c $(PLUGINBITMAPLIB) $(CHESSBOX_SRCDIR)/chessbox.make | ||
57 | $(SILENT)mkdir -p $(dir $@) | ||
58 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(CHESSBOXFLAGS) -c $< -o $@ | ||