99 lines
2.5 KiB
Makefile
99 lines
2.5 KiB
Makefile
# Makefile to get and build all the parts of GBDK
|
|
|
|
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
|
else if [ -x /bin/bash ]; then echo /bin/bash; \
|
|
else echo sh; fi ; fi)
|
|
|
|
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
|
|
|
|
BUILD = $(TOPDIR)/gbdk
|
|
SDCCLIB = $(BUILD)
|
|
CVSFLAGS = -z5
|
|
CVS = cvs
|
|
DIR = .
|
|
VER = 2.94
|
|
# Used as a branch name.
|
|
SHORTVER = 294
|
|
|
|
ROOT_GBDK = :pserver:anonymous@cvs.gbdk.sourceforge.net:/cvsroot/gbdk
|
|
ROOT_SDCC = :pserver:anonymous@cvs.sdcc.sourceforge.net:/cvsroot/sdcc
|
|
|
|
# For mingw32 hosted on Linux
|
|
# Source extension - what the gcc generated files have appended
|
|
SE =
|
|
# Dest extenstion - what extension we want them to have.
|
|
E = .exe
|
|
GBDK_ROOT = \\\\gbdk
|
|
|
|
# For mingw32 on win32
|
|
# Source extension - what the gcc generated files have appended
|
|
SE = .exe
|
|
# Dest extenstion - what extension we want them to have.
|
|
E = .exe
|
|
GBDK_ROOT = \\\\gbdk
|
|
|
|
# For Linux
|
|
#SE =
|
|
#E =
|
|
#GBDK_ROOT = /usr/lib/gbdk
|
|
|
|
all: logged_in dist
|
|
|
|
clean:
|
|
for i in sdcc gbdk-lib gbdk-support/lcc; do make -C $$i clean; done
|
|
rm -f *~
|
|
rm -rf $(BUILD) gbdk-lib gbdk-support sdcc logged_in
|
|
|
|
update: logged_in
|
|
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_SDCC) co -r gbdk-$(SHORTVER) sdcc
|
|
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r gbdk-$(SHORTVER) gbdk-lib
|
|
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r gbdk-$(SHORTVER) gbdk-support
|
|
|
|
_sdcc: sdcc/sdccconf.h
|
|
cd sdcc; \
|
|
for i in support/gc support/cpp src as link; \
|
|
do make -C $$i; done
|
|
mkdir -p $(BUILD)/bin
|
|
for i in sdcc sdcpp link-gbz80 as-gbz80; \
|
|
do cp sdcc/bin/$$i$(SE) $(BUILD)/bin/$$i$(E); done
|
|
|
|
sdcc/sdccconf.h: sdcc/configure
|
|
cd sdcc; \
|
|
./configure --datadir=$(GBDK_ROOT) \
|
|
--disable-mcs51-port \
|
|
--disable-avr-port \
|
|
;
|
|
|
|
_gbdk-lib: _sdcc _gbdk-support
|
|
cp -r gbdk-lib/include $(BUILD)
|
|
make -C gbdk-lib SDCCLIB=$(SDCCLIB) PORTS=gbz80 PLATFORMS=gb
|
|
|
|
_gbdk-support:
|
|
make -C gbdk-support/lcc clean
|
|
make -C gbdk-support/lcc SDCCLIB=$(GBDK_ROOT)/
|
|
mkdir -p $(BUILD)/bin
|
|
cp gbdk-support/lcc/lcc$(SE) $(BUILD)/bin/lcc$(E)
|
|
|
|
dist: _sdcc _gbdk-lib _gbdk-support
|
|
mkdir -p $(BUILD)/bin
|
|
mkdir -p $(BUILD)/lib
|
|
cp -r gbdk-lib/build/gbz80 $(BUILD)/lib
|
|
cp -r gbdk-lib/build/gb $(BUILD)/lib
|
|
make -C gbdk-lib/libc clean
|
|
make -C gbdk-lib/examples/gb make.bat
|
|
cp -r gbdk-lib/examples $(BUILD)
|
|
cp -r gbdk-lib/libc $(BUILD)
|
|
cp -r sdcc/doc $(BUILD)
|
|
cp gbdk-support/README $(BUILD)
|
|
strip $(BUILD)/bin/*
|
|
rm -rf `find gbdk -name "CVS"`
|
|
|
|
zdist: dist
|
|
tar czf gbdk-$(VER).tar.gz gbdk
|
|
|
|
logged_in:
|
|
cvs -d$(ROOT_GBDK) login
|
|
cvs -d$(ROOT_SDCC) login
|
|
touch logged_in
|
|
make -f update.mak update
|