2 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
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
) \
13 CFLAGS
= $(INCLUDES
) $(GCCOPTS
) -O2
$(TARGET
) $(EXTRA_DEFINES
) \
14 -DTARGET_ID
=$(TARGET_ID
) -DMEM
=${MEMORYSIZE} -DPLUGIN
17 INCLUDES
+= $(patsubst %,-I
$(APPSDIR
)/%,$(subst :, ,$(APPEXTRA
)))
20 LINKFILE
:= $(OBJDIR
)/link.lds
21 DEPFILE
= $(OBJDIR
)/dep-chessbox
22 SRC
= chessbox.c gnuchess.c opening.c chessbox_pgn.c
25 OBJS
:= $(SRC
:%.c
=$(OBJDIR
)/%.o
)
29 ifneq (,$(strip $(foreach tgt
,RECORDER ONDIO
,$(findstring $(tgt
),$(TARGET
)))))
31 OUTPUT
= $(OUTDIR
)/chessbox.ovl
34 OUTPUT
= $(OUTDIR
)/chessbox.rock
37 OUTPUT
= $(OUTDIR
)/chessbox.rock
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
$< $@
52 ###################################################
53 # This is the X11 simulator version
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
65 else # end of x11-simulator
67 ###################################################
68 # This is the SDL simulator version
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
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
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
97 endif # end of win32-simulator
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
107 $(call PRINTS
,build
$(@F
))cat
$< |
$(CC
) -DMEMORYSIZE
=$(MEMORYSIZE
) $(INCLUDES
) $(TARGET
) \
108 $(DEFINES
) -E
-P
- >$@
111 $(call PRINTS
,cleaning chessbox
)rm -rf
$(OBJDIR
)/chessbox
112 $(SILENT
)rm -f
$(OBJDIR
)/chessbox.
* $(DEPFILE
)