mirror of https://github.com/bebbo/amiga-gcc.git
devel snapshot
This commit is contained in:
parent
2529071bcd
commit
c5fd28d82a
222
Makefile
222
Makefile
|
@ -12,8 +12,12 @@ PREFIX ?= /opt/amiga
|
|||
export PATH := $(PREFIX)/bin:$(PATH)
|
||||
SHELL = /bin/bash
|
||||
|
||||
GCCBRANCH ?= gcc-6-branch
|
||||
GCCVERSION = $(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
GCC_GIT ?= https://github.com/bebbo/gcc
|
||||
GCC_BRANCH ?= gcc-6-branch
|
||||
GCC_VERSION ?= $(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
|
||||
BINUTILS_GIT ?= https://github.com/bebbo/amigaos-binutils-2.14
|
||||
BINUTILS_BRANCH ?= master
|
||||
|
||||
CFLAGS?=-Os
|
||||
CPPFLAGS=$(CFLAGS)
|
||||
|
@ -54,19 +58,19 @@ help:
|
|||
@echo "make update-<target> perform git pull for the given target"
|
||||
@echo "make sdk=<sdk> install the sdk <sdk>"
|
||||
@echo "make all-sdk install all sdks"
|
||||
@echo "make info display some info"
|
||||
|
||||
# =================================================
|
||||
# all
|
||||
# =================================================
|
||||
.PHONY: all gcc binutils fd2sfd fd2pragma ira sfdc vasm vbcc vlink libnix ixemul libgcc clib2 libdebug libSDL12
|
||||
all: gcc binutils fd2sfd fd2pragma ira sfdc vbcc vasm vlink libnix ixemul libgcc clib2 libdebug libSDL12
|
||||
all: gcc binutils fd2sfd fd2pragma ira sfdc vbcc vasm vlink libnix ixemul libgcc clib2 libdebug libSDL12 ndk13
|
||||
|
||||
# =================================================
|
||||
# clean
|
||||
# =================================================
|
||||
.PHONY: clean-prefix clean clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vasm clean-vbcc clean-vlink clean-libnix clean-ixemul clean-libgcc clean-clib2 clean-libdebug clean-libSDL12
|
||||
clean: clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vasm clean-vbcc clean-vlink clean-libnix clean-ixemul clean-clib2 clean-libdebug clean-libSDL12
|
||||
rm -rf build
|
||||
.PHONY: clean-prefix clean clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vasm clean-vbcc clean-vlink clean-libnix clean-ixemul clean-libgcc clean-clib2 clean-libdebug clean-libSDL12 clean-newlib
|
||||
clean: clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vasm clean-vbcc clean-vlink clean-libnix clean-ixemul clean-clib2 clean-libdebug clean-libSDL12 clean-newlib
|
||||
|
||||
clean-gcc:
|
||||
rm -rf build/gcc
|
||||
|
@ -114,24 +118,29 @@ clean-libdebug:
|
|||
clean-libSDL12:
|
||||
rm -rf build/libSDL12
|
||||
|
||||
clean-newlib:
|
||||
rm -rf build/newlib
|
||||
|
||||
# clean-prefix drops the files from prefix folder
|
||||
clean-prefix:
|
||||
rm -rf $(PREFIX)/*
|
||||
rm -rf $(PREFIX)/bin
|
||||
rm -rf $(PREFIX)/libexec
|
||||
rm -rf $(PREFIX)/lib/gcc
|
||||
rm -rf $(PREFIX)/m68k-amigaos
|
||||
mkdir -p $(PREFIX)/bin
|
||||
|
||||
# =================================================
|
||||
# update all projects
|
||||
# =================================================
|
||||
.PHONY: update update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vasm update-vbcc update-vlink update-libnix update-ixemul update-clib2 update-libdebug update-libSDL12 update-ndk
|
||||
update: update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vasm update-vbcc update-vlink update-libnix update-ixemul update-clib2 update-libdebug update-libSDL12 update-ndk
|
||||
.PHONY: update update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vasm update-vbcc update-vlink update-libnix update-ixemul update-clib2 update-libdebug update-libSDL12 update-ndk update-newlib
|
||||
update: update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vasm update-vbcc update-vlink update-libnix update-ixemul update-clib2 update-libdebug update-libSDL12 update-ndk update-newlib
|
||||
|
||||
update-gcc: projects/gcc/configure
|
||||
cd projects/gcc && export DEPTH=4; while true; do echo "trying depth=$$DEPTH"; git pull --depth $$DEPTH && break; export DEPTH=$$(($$DEPTH+$$DEPTH));done
|
||||
GCCVERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
GCC_VERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
|
||||
update-binutils: projects/binutils/configure
|
||||
@pushd projects/binutils && a=($$(git remote -v)); if [ "$${a[1]}" == "$(GIT_BINUTILS)" ]; then git pull; else \
|
||||
cd .. ; rm -rf binutils; popd; $(MAKE) projects/binutils/configure; fi
|
||||
cd projects/binutils && git pull
|
||||
|
||||
update-fd2fsd: projects/fd2sfd/configure
|
||||
cd projects/fd2sfd && git pull
|
||||
|
@ -171,8 +180,12 @@ update-libSDL12: projects/libSDL12/Makefile.bax
|
|||
|
||||
update-ndk: projects/NDK_3.9.info
|
||||
|
||||
update-newlib:
|
||||
cd projects/newlib-cygwin && git pull
|
||||
|
||||
|
||||
status-all:
|
||||
GCCVERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
GCC_VERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
|
||||
# =================================================
|
||||
# B I N
|
||||
# =================================================
|
||||
|
@ -182,7 +195,7 @@ status-all:
|
|||
# =================================================
|
||||
CONFIG_GCC=--prefix=$(PREFIX) --target=m68k-amigaos --enable-languages=c,c++,objc --enable-version-specific-runtime-libs --disable-libssp --disable-nls
|
||||
|
||||
GCC_CMD = m68k-amigaos-c++ m68k-amigaos-g++ m68k-amigaos-gcc-$(GCCVERSION) m68k-amigaos-gcc-nm \
|
||||
GCC_CMD = m68k-amigaos-c++ m68k-amigaos-g++ m68k-amigaos-gcc-$(GCC_VERSION) m68k-amigaos-gcc-nm \
|
||||
m68k-amigaos-gcov m68k-amigaos-gcov-tool m68k-amigaos-cpp m68k-amigaos-gcc m68k-amigaos-gcc-ar \
|
||||
m68k-amigaos-gcc-ranlib m68k-amigaos-gcov-dump
|
||||
GCC = $(patsubst %,$(PREFIX)/bin/%$(EXEEXT), $(GCC_CMD))
|
||||
|
@ -204,12 +217,12 @@ build/gcc/Makefile: projects/gcc/configure projects/ixemul/configure build/binut
|
|||
|
||||
projects/gcc/configure:
|
||||
@mkdir -p projects
|
||||
cd projects && git clone -b $(GCCBRANCH) --depth 4 https://github.com/bebbo/gcc
|
||||
cd projects && git clone -b $(GCC_BRANCH) --depth 4 https://github.com/bebbo/gcc
|
||||
|
||||
# =================================================
|
||||
# binutils
|
||||
# =================================================
|
||||
CONFIG_BINUTILS=--prefix=$(PREFIX) --target=m68k-amigaos
|
||||
CONFIG_BINUTILS=--prefix=$(PREFIX) --target=m68k-amigaos --disable-plugins
|
||||
BINUTILS_CMD = m68k-amigaos-addr2line m68k-amigaos-ar m68k-amigaos-as m68k-amigaos-c++filt \
|
||||
m68k-amigaos-ld m68k-amigaos-nm m68k-amigaos-objcopy m68k-amigaos-objdump m68k-amigaos-ranlib \
|
||||
m68k-amigaos-readelf m68k-amigaos-size m68k-amigaos-strings m68k-amigaos-strip
|
||||
|
@ -220,12 +233,12 @@ BINUTILSD = $(patsubst %,projects/binutils/%, $(BINUTILS_DIR))
|
|||
|
||||
binutils: build/binutils/_done
|
||||
|
||||
build/binutils/_done: build/binutils/Makefile $(shell find 2>/dev/null $(BINUTILSD) -maxdepth 1 -type f)
|
||||
build/binutils/_done: build/binutils/Makefile $(shell find 2>/dev/null projects/binutils -not \( -path projects/binutils/.git -prune \) -type f)
|
||||
touch -d19710101 projects/binutils/binutils/arparse.y
|
||||
touch -d19710101 projects/binutils/binutils/arlex.l
|
||||
touch -d19710101 projects/binutils/ld/ldgram.y
|
||||
cd build/binutils && $(MAKE)
|
||||
cd build/binutils && $(MAKE) install
|
||||
cd build/binutils && $(MAKE) all-gas all-binutils all-ld
|
||||
cd build/binutils && $(MAKE) install-gas install-binutils install-ld
|
||||
echo "done" >build/binutils/_done
|
||||
echo "build $(BINUTILS)"
|
||||
|
||||
|
@ -233,12 +246,9 @@ build/binutils/Makefile: projects/binutils/configure
|
|||
@mkdir -p build/binutils
|
||||
cd build/binutils && $(E) $(PWD)/projects/binutils/configure $(CONFIG_BINUTILS)
|
||||
|
||||
ifeq ($(GIT_BINUTILS),)
|
||||
GIT_BINUTILS = https://github.com/bebbo/amigaos-binutils-2.14
|
||||
endif
|
||||
projects/binutils/configure:
|
||||
@mkdir -p projects
|
||||
cd projects && git clone -b master --depth 4 $(GIT_BINUTILS) binutils
|
||||
cd projects && git clone -b $(BINUTILS_BRANCH) --depth 4 $(BINUTILS_GIT) binutils
|
||||
|
||||
|
||||
# =================================================
|
||||
|
@ -301,7 +311,7 @@ $(PREFIX)/bin/ira: build/ira/ira
|
|||
|
||||
build/ira/ira: projects/ira/Makefile $(shell find 2>/dev/null projects/ira -not \( -path projects/ira/.git -prune \) -type f)
|
||||
@mkdir -p build/ira
|
||||
cd projects/ira && $(CC) -o $(PWD)/$@ $(CFLAGS) ira.c ira_2.c supp.c
|
||||
cd projects/ira && $(CC) -o $(PWD)/$@ $(CFLAGS) *.c
|
||||
|
||||
projects/ira/Makefile:
|
||||
@mkdir -p projects
|
||||
|
@ -414,59 +424,60 @@ projects/vlink/Makefile:
|
|||
|
||||
NDK_INCLUDE = $(shell find 2>/dev/null projects/NDK_3.9/Include/include_h -type f)
|
||||
NDK_INCLUDE_SFD = $(shell find 2>/dev/null projects/NDK_3.9/Include/sfd -type f -name *.sfd)
|
||||
SYS_INCLUDE_INLINE = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/sys-include/inline/%.h,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE_LVO = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/sys-include/lvo/%_lib.i,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE_PROTO = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/sys-include/proto/%.h,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE2 = $(filter-out $(SYS_INCLUDE_PROTO),$(patsubst projects/NDK_3.9/Include/include_h/%,$(PREFIX)/m68k-amigaos/sys-include/%, $(NDK_INCLUDE)))
|
||||
SYS_INCLUDE_INLINE = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/ndk-include/inline/%.h,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE_LVO = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/ndk-include/lvo/%_lib.i,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE_PROTO = $(patsubst projects/NDK_3.9/Include/sfd/%_lib.sfd,$(PREFIX)/m68k-amigaos/ndk-include/proto/%.h,$(NDK_INCLUDE_SFD))
|
||||
SYS_INCLUDE2 = $(filter-out $(SYS_INCLUDE_PROTO),$(patsubst projects/NDK_3.9/Include/include_h/%,$(PREFIX)/m68k-amigaos/ndk-include/%, $(NDK_INCLUDE)))
|
||||
|
||||
.PHONY: ndk-include2 ndk-inline ndk-lvo ndk-proto
|
||||
|
||||
.PHONY: sys-include2 sys-inline sys-lvo sys-proto
|
||||
ndk-include2: build/ndk-include/_ndk
|
||||
|
||||
sys-include2: build/sys-include/_done2
|
||||
|
||||
build/sys-include/_done2: projects/NDK_3.9.info $(NDK_INCLUDE) $(SYS_INCLUDE_INLINE) $(SYS_INCLUDE_LVO) $(SYS_INCLUDE_PROTO) projects/fd2sfd/configure projects/fd2pragma/makefile
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/include_h/* $(PREFIX)/m68k-amigaos/sys-include --exclude proto
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/include_i/* $(PREFIX)/m68k-amigaos/sys-include
|
||||
build/ndk-include/_ndk: projects/NDK_3.9.info $(NDK_INCLUDE) $(SYS_INCLUDE_INLINE) $(SYS_INCLUDE_LVO) $(SYS_INCLUDE_PROTO) projects/fd2sfd/configure projects/fd2pragma/makefile
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/include_h/* $(PREFIX)/m68k-amigaos/ndk-include --exclude proto
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/include_i/* $(PREFIX)/m68k-amigaos/ndk-include
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk/lib
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/fd $(PREFIX)/m68k-amigaos/ndk/lib
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/sfd $(PREFIX)/m68k-amigaos/ndk/lib
|
||||
rsync -a $(PWD)/projects/NDK_3.9/Include/linker_libs $(PREFIX)/m68k-amigaos/ndk/lib
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include/proto
|
||||
cp -p projects/NDK_3.9/Include/include_h/proto/alib.h $(PREFIX)/m68k-amigaos/sys-include/proto
|
||||
cp -p projects/NDK_3.9/Include/include_h/proto/cardres.h $(PREFIX)/m68k-amigaos/sys-include/proto
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include/inline
|
||||
cp -p projects/fd2sfd/cross/share/m68k-amigaos/alib.h $(PREFIX)/m68k-amigaos/sys-include/inline
|
||||
cp -p projects/fd2pragma/Include/inline/stubs.h $(PREFIX)/m68k-amigaos/sys-include/inline
|
||||
cp -p projects/fd2pragma/Include/inline/macros.h $(PREFIX)/m68k-amigaos/sys-include/inline
|
||||
mkdir -p build/sys-include/
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/proto
|
||||
cp -p projects/NDK_3.9/Include/include_h/proto/alib.h $(PREFIX)/m68k-amigaos/ndk-include/proto
|
||||
cp -p projects/NDK_3.9/Include/include_h/proto/cardres.h $(PREFIX)/m68k-amigaos/ndk-include/proto
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/inline
|
||||
cp -p projects/fd2sfd/cross/share/m68k-amigaos/alib.h $(PREFIX)/m68k-amigaos/ndk-include/inline
|
||||
cp -p projects/fd2pragma/Include/inline/stubs.h $(PREFIX)/m68k-amigaos/ndk-include/inline
|
||||
cp -p projects/fd2pragma/Include/inline/macros.h $(PREFIX)/m68k-amigaos/ndk-include/inline
|
||||
mkdir -p build/ndk-include/
|
||||
echo "done" >$@
|
||||
|
||||
sys-inline: $(SYS_INCLUDE_INLINE) sfdc
|
||||
$(SYS_INCLUDE_INLINE): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) build/sys-include/_inline build/sys-include/_lvo build/sys-include/_proto
|
||||
sfdc --target=m68k-amigaos --mode=macros --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/sys-include/inline/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
ndk-inline: $(SYS_INCLUDE_INLINE) sfdc build/ndk-include/_inline
|
||||
$(SYS_INCLUDE_INLINE): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) build/ndk-include/_inline build/ndk-include/_lvo build/ndk-include/_proto
|
||||
sfdc --target=m68k-amigaos --mode=macros --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/inline/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
|
||||
sys-lvo: $(SYS_INCLUDE_LVO) sfdc
|
||||
$(SYS_INCLUDE_LVO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD)
|
||||
sfdc --target=m68k-amigaos --mode=lvo --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/sys-include/lvo/%_lib.i,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
ndk-lvo: $(SYS_INCLUDE_LVO) sfdc
|
||||
$(SYS_INCLUDE_LVO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) build/ndk-include/_lvo
|
||||
sfdc --target=m68k-amigaos --mode=lvo --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/lvo/%_lib.i,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
|
||||
sys-proto: $(SYS_INCLUDE_PROTO) sfdc
|
||||
$(SYS_INCLUDE_PROTO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD)
|
||||
sfdc --target=m68k-amigaos --mode=proto --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/sys-include/proto/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
ndk-proto: $(SYS_INCLUDE_PROTO) sfdc
|
||||
$(SYS_INCLUDE_PROTO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) build/ndk-include/_proto
|
||||
sfdc --target=m68k-amigaos --mode=proto --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/proto/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@)
|
||||
|
||||
build/sys-include/_inline:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include/inline
|
||||
mkdir -p build/sys-include/
|
||||
build/ndk-include/_inline:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/inline
|
||||
mkdir -p build/ndk-include/
|
||||
echo "done" >$@
|
||||
|
||||
build/sys-include/_lvo:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include/lvo
|
||||
mkdir -p build/sys-include/
|
||||
build/ndk-include/_lvo:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/lvo
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/lvo
|
||||
mkdir -p build/ndk-include/
|
||||
echo "done" >$@
|
||||
|
||||
build/sys-include/_proto:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include/proto
|
||||
mkdir -p build/sys-include/
|
||||
build/ndk-include/_proto:
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/proto
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/proto
|
||||
mkdir -p build/ndk-include/
|
||||
echo "done" >$@
|
||||
|
||||
projects/NDK_3.9.info: download/NDK39.lha $(shell find 2>/dev/null patches/NDK_3.9/ -type f)
|
||||
|
@ -483,6 +494,31 @@ projects/NDK_3.9.info: download/NDK39.lha $(shell find 2>/dev/null patches/NDK_3
|
|||
download/NDK39.lha:
|
||||
mkdir -p download
|
||||
cd download && wget http://www.haage-partner.de/download/AmigaOS/NDK39.lha
|
||||
|
||||
# =================================================
|
||||
# NDK1.3 - emulated from NDK
|
||||
# =================================================
|
||||
|
||||
.PHONY: ndk13
|
||||
|
||||
ndk13: build/ndk-include/_ndk
|
||||
while read p; do mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); cp $(PREFIX)/m68k-amigaos/ndk-include/$$p $(PREFIX)/m68k-amigaos/ndk13-include/$$p; done < patches/ndk13/hfiles
|
||||
while read p; do \
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); \
|
||||
sed -n -e '/#ifndef CLIB/,/V36/p' $(PREFIX)/m68k-amigaos/ndk-include/$$p >$(PREFIX)/m68k-amigaos/ndk13-include/$$p; \
|
||||
echo -e "#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n#endif" >>$(PREFIX)/m68k-amigaos/ndk13-include/$$p; \
|
||||
done < patches/ndk13/chfiles
|
||||
while read p; do mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); echo "" >$(PREFIX)/m68k-amigaos/ndk13-include/$$p; done < patches/ndk13/ehfiles
|
||||
echo '#undef EXECNAME' > $(PREFIX)/m68k-amigaos/ndk13-include/exec/execname.h
|
||||
echo '#define EXECNAME "exec.library"' >> $(PREFIX)/m68k-amigaos/ndk13-include/exec/execname.h
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk/lib/fd13
|
||||
while read p; do sed -n -e '/##base/,/V36/P' $(PREFIX)/m68k-amigaos/ndk/lib/fd/$$p >$(PREFIX)/m68k-amigaos/ndk/lib/fd13/$$p; done < patches/ndk13/fdfiles
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ndk/lib/sfd13
|
||||
for i in $(PREFIX)/m68k-amigaos/ndk/lib/fd13/*; do fd2sfd $$i $(PREFIX)/m68k-amigaos/ndk13-include/clib/$$(basename $$i _lib.fd)_protos.h > $(PREFIX)/m68k-amigaos/ndk/lib/sfd13/$$(basename $$i .fd).sfd; done
|
||||
for i in $(PREFIX)/m68k-amigaos/ndk/lib/sfd13/*; do \
|
||||
sfdc --target=m68k-amigaos --mode=macros --output=$(PREFIX)/m68k-amigaos/ndk13-include/inline/$$(basename $$i _lib.sfd).h $$i; \
|
||||
sfdc --target=m68k-amigaos --mode=proto --output=$(PREFIX)/m68k-amigaos/ndk13-include/proto/$$(basename $$i _lib.sfd).h $$i; \
|
||||
done
|
||||
|
||||
# =================================================
|
||||
# ixemul
|
||||
|
@ -490,19 +526,19 @@ download/NDK39.lha:
|
|||
CONFIG_IXEMUL = --prefix=$(PREFIX) --target=m68k-amigaos --host=m68k-amigaos --disable-cat
|
||||
|
||||
IXEMUL_INCLUDE = $(shell find 2>/dev/null projects/ixemul/include -type f)
|
||||
SYS_INCLUDE = $(patsubst projects/ixemul/include/%,$(PREFIX)/m68k-amigaos/sys-include/%, $(IXEMUL_INCLUDE))
|
||||
SYS_INCLUDE = $(patsubst projects/ixemul/include/%,$(PREFIX)/m68k-amigaos/ixemul/include/%, $(IXEMUL_INCLUDE))
|
||||
|
||||
build/ixemul/Makefile: build/libnix/_done projects/ixemul/configure $(shell find 2>/dev/null projects/ixemul -not \( -path projects/ixemul/.git -prune \) -type f)
|
||||
mkdir -p build/ixemul
|
||||
cd build/ixemul && $(A) $(PWD)/projects/ixemul/configure $(CONFIG_IXEMUL)
|
||||
|
||||
.PHONY: sys-include
|
||||
sys-include: build/sys-include/_done
|
||||
.PHONY: ixemul-include
|
||||
ixemul-include: build/ixemul-include/_done
|
||||
|
||||
build/sys-include/_done: $(IXEMUL_INCLUDE) projects/ixemul/configure
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/sys-include
|
||||
rsync -a projects/ixemul/include/* $(PREFIX)/m68k-amigaos/sys-include
|
||||
mkdir -p build/sys-include/
|
||||
build/ixemul-include/_done: $(IXEMUL_INCLUDE) projects/ixemul/configure
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/ixemul/include
|
||||
rsync -a projects/ixemul/include/* $(PREFIX)/m68k-amigaos/ixemul/include
|
||||
mkdir -p build/ixemul-include/
|
||||
echo "done" >$@
|
||||
|
||||
projects/ixemul/configure:
|
||||
|
@ -526,7 +562,7 @@ build/libnix/_done: build/libnix/Makefile
|
|||
@echo "done" >build/libnix/_done
|
||||
@echo "built $(LIBNIX)"
|
||||
|
||||
build/libnix/Makefile: build/sys-include/_done build/sys-include/_done2 build/binutils/_done build/gcc/_done projects/libnix/configure projects/libnix/Makefile.in $(LIBNIX_SRC)
|
||||
build/libnix/Makefile: build/ixemul-include/_done build/ndk-include/_ndk build/binutils/_done build/gcc/_done projects/libnix/configure projects/libnix/Makefile.in $(LIBNIX_SRC)
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/libnix/lib/libnix
|
||||
mkdir -p build/libnix
|
||||
echo 'void foo(){}' > build/libnix/x.c
|
||||
|
@ -536,8 +572,8 @@ build/libnix/Makefile: build/sys-include/_done build/sys-include/_done2 build/bi
|
|||
if [ ! -e $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libnix.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libnix.a; fi
|
||||
if [ ! -e $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libnix20.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libnix20.a; fi
|
||||
if [ ! -e $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libstubs.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/m68k-amigaos/libnix/lib/libnix/libstubs.a; fi
|
||||
mkdir -p $(PREFIX)/lib/gcc/m68k-amigaos/$(GCCVERSION)
|
||||
if [ ! -e $(PREFIX)/lib/gcc/m68k-amigaos/$(GCCVERSION)/libgcc.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/lib/gcc/m68k-amigaos/$(GCCVERSION)/libgcc.a; fi
|
||||
mkdir -p $(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)
|
||||
if [ ! -e $(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)/libgcc.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)/libgcc.a; fi
|
||||
cd build/libnix && CFLAGS="$(TARGET_C_FLAGS)" AR=m68k-amigaos-ar AS=m68k-amigaos-as CC=m68k-amigaos-gcc $(A) $(PWD)/projects/libnix/configure $(CONFIG_LIBNIX)
|
||||
mkdir -p $(PREFIX)/m68k-amigaos/libnix/include/
|
||||
rsync -a projects/libnix/sources/headers/* $(PREFIX)/m68k-amigaos/libnix/include/
|
||||
|
@ -563,7 +599,7 @@ $(LIBAMIGA):
|
|||
# gcc libs
|
||||
# =================================================
|
||||
LIBGCCS_NAMES=libgcov.a libstdc++.a libsupc++.a
|
||||
LIBGCCS= $(patsubst %,$(PREFIX)/lib/gcc/m68k-amigaos/$(GCCVERSION)/%,$(LIBGCCS_NAMES))
|
||||
LIBGCCS= $(patsubst %,$(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)/%,$(LIBGCCS_NAMES))
|
||||
|
||||
libgcc: build/gcc/_libgcc_done
|
||||
|
||||
|
@ -642,6 +678,36 @@ projects/libSDL12/Makefile.bax:
|
|||
cd projects && git clone -b master --depth 4 https://github.com/AmigaPorts/libSDL12
|
||||
|
||||
|
||||
# =================================================
|
||||
# newlib
|
||||
# =================================================
|
||||
NEWLIB_CONFIG = CC=m68k-amigaos-gcc
|
||||
NEWLIB_FILES = $(shell find 2>/dev/null projects/newlib-cygwin -not \( -path projects/projects/newlib-cygwin/.git -prune \) -type f)
|
||||
|
||||
.PHONY: newlib
|
||||
newlib: build/newlib/_done
|
||||
|
||||
build/newlib/_done: build/newlib/newlib/libc.a
|
||||
echo "done" >build/newlib/_done
|
||||
|
||||
#build/newlib/libgloss/libgloss.a: build/newlib/libgloss/Makefile
|
||||
# cd build/newlib/libgloss && $(MAKE)
|
||||
|
||||
build/newlib/newlib/libc.a: build/newlib/newlib/Makefile
|
||||
cd build/newlib/newlib && $(MAKE)
|
||||
|
||||
build/newlib/newlib/Makefile: projects/newlib-cygwin/configure build/binutils/_done build/gcc/_done $(NEWLIB_FILES)
|
||||
mkdir -p build/newlib/newlib
|
||||
cd build/newlib/newlib && $(NEWLIB_CONFIG) CFLAGS="$(TARGET_C_FLAGS)" $(PWD)/projects/newlib-cygwin/newlib/configure --host=m68k-amigaos --prefix=$(PREFIX)
|
||||
|
||||
#build/newlib/libgloss/Makefile: projects/newlib-cygwin/configure build/binutils/_done build/gcc/_done $(NEWLIB_FILES)
|
||||
# mkdir -p build/newlib/libgloss
|
||||
# cd build/newlib/libgloss && $(NEWLIB_CONFIG) $(PWD)/projects/newlib-cygwin/newlib/configure --host=m68k-amigaos --prefix=$(PREFIX)
|
||||
|
||||
projects/newlib-cygwin/configure:
|
||||
@mkdir -p projects
|
||||
cd projects && git clone -b master --depth 4 https://github.com/bebbo/newlib-cygwin
|
||||
|
||||
# =================================================
|
||||
# sdk installation
|
||||
# =================================================
|
||||
|
@ -656,11 +722,17 @@ all-sdk: $(SDKS)
|
|||
|
||||
$(SDKS): libnix
|
||||
$(MAKE) sdk=$@
|
||||
|
||||
|
||||
# =================================================
|
||||
# info
|
||||
# =================================================
|
||||
info:
|
||||
@echo PREFIX=$(PREFIX)
|
||||
@echo GCCBRANCH=$(GCCBRANCH)
|
||||
@echo GCCVERSION=$(GCCVERSION)
|
||||
@echo GCC_GIT=$(GCC_GIT)
|
||||
@echo GCC_BRANCH=$(GCC_BRANCH)
|
||||
@echo GCC_VERSION=$(GCC_VERSION)
|
||||
@echo CFLAGS=$(CFLAGS)
|
||||
@echo TARGET_C_FLAGS=$(TARGET_C_FLAGS)
|
||||
@echo BINUTILS_GIT=$(BINUTILS_GIT)
|
||||
@echo BINUTILS_BRANCH=$(BINUTILS_BRANCH)
|
||||
|
||||
|
|
Loading…
Reference in New Issue