source: branches/ffigen-x-cocotron/ffigen4/Makefile@ 72

Last change on this file since 72 was 64, checked in by gb, 15 years ago

No INSTALL m4 file.

File size: 2.8 KB
Line 
1OS = $(shell uname -s)
2NOW = $(shell date -u "+%F-%H-%M-%S")
3
4GCC_VERSION = 4.3.1
5
6PLATFORM = cocotron
7targetPlatform = Windows
8targetArchitecture = i386
9gccVersion = $(GCC_VERSION)
10installFolder = /Developer
11productName = Cocotron
12productVersion = 1.0
13compilerTarget = i386-mingw32msvc
14gmpVersion=4.2.3
15
16
17
18productFolder=${installFolder}/$(productName)/$(productVersion)
19
20downloadFolder=$(productFolder)/Downloads
21sourceFolder=$(productFolder)/Source
22interfaceFolder=$(productFolder)/PlatformInterfaces/$(compilerTarget)
23buildFolder=$(productFolder)/build/$(targetPlatform)/$(targetArchitecture)
24resultFolder=$(productFolder)/$(targetPlatform)/$(targetArchitecture)/gcc-$(gccVersion)
25toolFolder=$(productFolder)/bin
26
27ARCHIVES = $(downloadFolder)/gcc-$(GCC_VERSION).tar.bz2
28
29
30CONFIGARGS= -v --prefix="$(resultFolder)" --target=$(compilerTarget) \
31 --with-gnu-as --with-gnu-ld --with-headers=$(resultFolder)/$(compilerTarget)/include \
32 --without-newlib --disable-multilib --disable-libssp --disable-nls --enable-languages="c,objc" \
33 --with-gmp=$(buildFolder)/gmp-$(gmpVersion) --enable-decimal-float --with-mpfr=$(resultFolder) --enable-checking=release \
34 --enable-objc-gc --disable-bootstrap
35
36
37all: package
38
39
40compile: patch
41 mkdir build
42 (cd build ; ../gcc-$(GCC_VERSION)/configure $(CONFIGARGS) )
43ifeq ($(MAKE_FUNKY_LINK),YES)
44ifeq ($(OS),Darwin)
45 (cd build ; ln -s . build-`../gcc-$(GCC_VERSION)/config.guess`)
46endif
47ifeq ($(OS),Linux)
48 (cd build ; ln -s . build-$(CONFIGTARGET))
49endif
50ifeq ($(OS),FreeBSD)
51 (cd build ; ln -s . build-$(CONFIGTARGET))
52endif
53
54endif
55# (cd build ; $(MAKE) maybe-configure-libiberty maybe-configure-gcc maybe-configure-libcpp maybe-configure-libdecnumber)
56# (cd build/libiberty ; $(MAKE))
57# (cd build/intl ; $(MAKE))
58# (cd build/libcpp ; $(MAKE))
59# (cd build/libdecnumber ; $(MAKE))
60# (cd build/gcc ; $(MAKE))
61 (cd build ; $(MAKE))
62
63patch: extract
64 ln -sf `pwd`/source/ffi.c gcc-$(GCC_VERSION)/gcc
65 printf "char *ffi_version = \42%s\42;\n" "$(NOW)" > gcc-$(GCC_VERSION)/gcc/ffi-version.h
66 for f in source/gcc-$(GCC_VERSION)*.diff ; do \
67 (cd gcc-$(GCC_VERSION)/gcc; patch -p0 <../../$$f); \
68 done
69
70package: compile
71 mkdir bin
72 cp source/h-to-ffi.sh bin/
73 chmod +x bin/h-to-ffi.sh
74 mkdir ffigen
75 cp -r -p gcc-$(GCC_VERSION)/gcc/ginclude ffigen
76 mv ffigen/ginclude ffigen/include
77 cp -p gcc-$(GCC_VERSION)/gcc/gsyslimits.h ffigen/include/syslimits.h
78 mkdir ffigen/bin
79 cp -p build/gcc/cc1obj ffigen/bin/ffigen
80 strip ffigen/bin/ffigen
81 tar cfz ffigen-bin-$(PLATFORM)-gcc-$(GCC_VERSION)-$(NOW).tar.gz bin ffigen
82
83clean:
84 rm -rf gcc-$(GCC_VERSION) ffigen build bin ffigen*tar.gz INSTALL-FFIGEN-$(PLATFORM)-gcc-$(GCC_VERSION)*.txt
85
86%.bz2:
87 @echo
88 @echo Obtain the file $@ from a GNU repository \(or gcc.gnu.org mirror\) and copy it to this directory.
89 @echo
90 @exit 2
91
92extract: $(ARCHIVES) clean
93 tar fxj $(ARCHIVES)
Note: See TracBrowser for help on using the repository browser.