projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* fixed GCC 4.4.0 mingw compilation:
[fw/sdcc]
/
support
/
scripts
/
build.mak
diff --git
a/support/scripts/build.mak
b/support/scripts/build.mak
index 35f808a5fb0c6c647f40db13307cc7a6fb9060cb..d4f0477015f680a854d459abfc40b6bbaee80db7 100644
(file)
--- a/
support/scripts/build.mak
+++ b/
support/scripts/build.mak
@@
-10,32
+10,51
@@
BUILD = $(TOPDIR)/build/sdcc
SDCCLIB = $(BUILD)
CVSFLAGS = -z5
CVS = cvs
SDCCLIB = $(BUILD)
CVSFLAGS = -z5
CVS = cvs
+SVNFLAGS =
+SVN = svn
DIR = .
VER = 2.2.1
# Used as a branch name.
SHORTVER = 221
DIR = .
VER = 2.2.1
# Used as a branch name.
SHORTVER = 221
+# Options:
+# linux-linux Building on Linux, targeting Linux
+# linux-ming32 Building on Linux, targeting mingw32 based win32
+# cygwin-mingw32 Building via cygwin on win32, targeting mingw32
+
+COMPILE_MODE = linux-mingw32
+SDCC_OR_GBDK = sdcc
+
ROOT_GBDK = :pserver:anonymous@cvs.gbdk.sourceforge.net:/cvsroot/gbdk
ROOT_GBDK = :pserver:anonymous@cvs.gbdk.sourceforge.net:/cvsroot/gbdk
-ROOT_SDCC =
:pserver:anonymous@cvs.sdcc.sourceforge.net:/cvs
root/sdcc
+ROOT_SDCC =
https://sdcc.svn.sourceforge.net/svn
root/sdcc
+ifeq ($(COMPILE_MODE),linux-linux)
+# For Linux
+SE =
+E =
+SDCC_ROOT = /usr/lib/$(SDCC_OR_GBDK)
+endif
+
+ifeq ($(COMPILE_MODE),linux-mingw32)
# For mingw32 hosted on Linux
# For mingw32 hosted on Linux
+# Tools name prefix
+TNP = i386-mingw32-
# Source extension - what the gcc generated files have appended
# Source extension - what the gcc generated files have appended
-
#
SE =
+SE =
# Dest extenstion - what extension we want them to have.
# Dest extenstion - what extension we want them to have.
-#E = .exe
-#SDCC_ROOT = \\\\gbdk
+E = .exe
+SDCC_ROOT = /$(SDCC_OR_GBDK)
+# Set to cross to bypass the detection
+CROSS_LIBGC = 1
+endif
+ifeq ($(COMPILE_MODE),cygwin-mingw32)
# For mingw32 on win32
# Source extension - what the gcc generated files have appended
# For mingw32 on win32
# Source extension - what the gcc generated files have appended
-
#
SE = .exe
+SE = .exe
# Dest extenstion - what extension we want them to have.
# Dest extenstion - what extension we want them to have.
-#E = .exe
-#SDCC_ROOT = \\\\gbdk
-
-# For Linux
-SE =
-E =
-SDCC_ROOT = /usr/lib/sdcc
+SDCC_ROOT = /$(SDCC_OR_GBDK)
+endif
all: logged_in dist
all: logged_in dist
@@
-45,22
+64,30
@@
clean:
rm -rf $(BUILD) gbdk-lib gbdk-support sdcc logged_in
update: logged_in
rm -rf $(BUILD) gbdk-lib gbdk-support sdcc logged_in
update: logged_in
- cd $(DIR);
cvs $(CVSFLAGS) -d$(ROOT_SDCC) co -r sdcc-$(SHORTVER)
sdcc
+ cd $(DIR);
svn $(SVNFLAGS) co $(ROOT_SDCC)/branches/sdcc-$(SHORTVER)/sdcc
sdcc
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r sdcc-$(SHORTVER) gbdk-lib
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r sdcc-$(SHORTVER) gbdk-support
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r sdcc-$(SHORTVER) gbdk-lib
cd $(DIR); cvs $(CVSFLAGS) -d$(ROOT_GBDK) co -r sdcc-$(SHORTVER) gbdk-support
-_sdcc: sdcc-bin sdcc-lib sdcc-doc
+_sdcc: sdcc-bin sdcc-
misc sdcc-
lib sdcc-doc
tidy:
tidy:
- rm -rf `find $(BUILD) -name "CVS"`
- rm -rf `find $(BUILD)/lib -name "*.asm"`
- -strip $(BUILD)/bin/*
+ find $(BUILD) -name "CVS" -exec rm -rf \;
+ find $(BUILD) -name ".svn" -exec rm -rf \;
+ find $(BUILD)/lib -name "*.asm" -exec rm -rf \;
+ -$(TNP)strip $(BUILD)/bin/*
sdcc-bin: sdcc/sdccconf.h
sdcc-bin: sdcc/sdccconf.h
- make -C sdcc sdcc-bin
+ make -C sdcc sdcc-bin CROSS_LIBGC=$(CROSS_LIBGC)
+ mkdir -p $(BUILD)/bin
+ for i in \
+ sdcc sdcpp link-z80 as-z80 aslink asx8051; \
+ do cp sdcc/bin/$$i$(SE) $(BUILD)/bin/$$i$(E); done
+
+sdcc-misc: sdcc/sdccconf.h
+ make -C sdcc sdcc-misc CROSS_LIBGC=$(CROSS_LIBGC)
mkdir -p $(BUILD)/bin
for i in \
mkdir -p $(BUILD)/bin
for i in \
- sdc
c sdcpp link-z80 as-z80 aslink asx8051 sdc
db; \
+ sdcdb; \
do cp sdcc/bin/$$i$(SE) $(BUILD)/bin/$$i$(E); done
cp sdcc/sim/ucsim/s51.src/s51$(E) $(BUILD)/bin
cp sdcc/sim/ucsim/z80.src/sz80$(E) $(BUILD)/bin
do cp sdcc/bin/$$i$(SE) $(BUILD)/bin/$$i$(E); done
cp sdcc/sim/ucsim/s51.src/s51$(E) $(BUILD)/bin
cp sdcc/sim/ucsim/z80.src/sz80$(E) $(BUILD)/bin
@@
-90,12
+117,20
@@
sdcc-lib-gen:
make -C sdcc sdcc-device
lcc:
make -C sdcc sdcc-device
lcc:
- make -C gbdk-support/lcc SDCCLIB=$(SDCC_ROOT)/
- cp gbdk-support/lcc/lcc$(
E) $(BUILD)/bin
+ make -C gbdk-support/lcc SDCCLIB=$(SDCC_ROOT)/
TNP=$(TNP)
+ cp gbdk-support/lcc/lcc$(
SE) $(BUILD)/bin/lcc$(E)
sdcc/sdccconf.h: sdcc/configure
sdcc/sdccconf.h: sdcc/configure
+ifdef TNP
cd sdcc; \
cd sdcc; \
- ./configure --datadir=$(SDCC_ROOT)
+ export CCC=$(TNP)c++; \
+ export RANLIB=$(TNP)ranlib; \
+ export CC=$(TNP)gcc; \
+ ./configure --datarootdir=$(SDCC_ROOT)
+ echo $$CCC
+else
+ cd sdcc; ./configure --datarootdir=$(SDCC_ROOT)
+endif
dist: _sdcc lcc tidy
dist: _sdcc lcc tidy
@@
-106,4
+141,4
@@
logged_in:
cvs -d$(ROOT_GBDK) login
cvs -d$(ROOT_SDCC) login
touch logged_in
cvs -d$(ROOT_GBDK) login
cvs -d$(ROOT_SDCC) login
touch logged_in
- make update
\ No newline at end of file
+ make -f build.mak update