1
0
mirror of https://github.com/bebbo/amiga-gcc.git synced 2025-11-24 02:34:36 +00:00

logs are in folder log now

This commit is contained in:
bebbo
2018-08-20 16:05:22 +02:00
parent b5f49673fa
commit aa7f9c3ea3
3 changed files with 300 additions and 270 deletions

3
.gitignore vendored
View File

@ -2,3 +2,6 @@ build*
projects projects
download download
Output Output
*.log
.lock
.state

561
Makefile
View File

@ -28,8 +28,6 @@ TARGET_C_FLAGS?=-Os -fomit-frame-pointer
E=CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LIBCFLAGS_FOR_TARGET="$(TARGET_C_FLAGS)" E=CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LIBCFLAGS_FOR_TARGET="$(TARGET_C_FLAGS)"
#LOG = >& $(PWD)/x.log || tail -n 999 $(PWD)/x.log
# ================================================= # =================================================
# determine exe extension for cygwin # determine exe extension for cygwin
$(eval MYMAKE = $(shell which make) ) $(eval MYMAKE = $(shell which make) )
@ -48,8 +46,31 @@ MPFR = mpfr-3.1.6
MPFRFILE = $(MPFR).tar.bz2 MPFRFILE = $(MPFR).tar.bz2
# ================================================= # =================================================
# pretty output ^^
# =================================================
TEEEE ?= >&
.PHONY: x ifeq ($(sdk),)
__LINIT := $(shell rm .state 2>/dev/nul)
endif
L0 = @__p=
L00 = __p=
ifeq ($(verbose),)
L1 = ; (flock 200; echo -e \\e[33m$$__p... >>.state; echo -ne \\e[33m$$__p... ) 200>.lock; mkdir -p log; __l="log/$$__p.log" ; (
L2 = )$(TEEEE) "$$__l"; __r=$$?; (flock 200; if (( $$__r > 0 )); then \
echo -e \\r\\e[K\\e[31m$$__p...failed\\e[39m; \
tail -n 20 "$$__l"; \
echo -e \\e[31m$$__p...failed\\e[39m; \
else echo -e \\r\\e[K\\e[32m$$__p...done\\e[39m; fi \
;grep -v "$$__p" .state >.state0; mv .state0 .state ;echo -n $$(cat .state | paste -sd " " -); ) 200>.lock; [[ $$__r -gt 0 ]] && exit $$__r; echo -n ""
else
L1 = ;
endif
# =================================================
.PHONY: x init
x: x:
@if [ "$(sdk)" == "" ]; then \ @if [ "$(sdk)" == "" ]; then \
$(MAKE) help; \ $(MAKE) help; \
@ -92,6 +113,7 @@ endif
.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-ndk .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-ndk
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-ndk clean-gmp clean-mpc clean-mpfr 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-ndk clean-gmp clean-mpc clean-mpfr
rm -rf $(BUILD) rm -rf $(BUILD)
rm -rf *.log
clean-gcc: clean-gcc:
rm -rf $(BUILD)/gcc rm -rf $(BUILD)/gcc
@ -160,7 +182,7 @@ clean-prefix:
rm -rf $(PREFIX)/libexec rm -rf $(PREFIX)/libexec
rm -rf $(PREFIX)/lib/gcc rm -rf $(PREFIX)/lib/gcc
rm -rf $(PREFIX)/m68k-amigaos rm -rf $(PREFIX)/m68k-amigaos
mkdir -p $(PREFIX)/bin @mkdir -p $(PREFIX)/bin
# ================================================= # =================================================
# update all projects # update all projects
@ -170,7 +192,7 @@ clean-prefix:
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-netinclude 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-netinclude
update-gcc: projects/gcc/configure update-gcc: projects/gcc/configure
cd projects/gcc && export DEPTH=16; while true; do echo "trying depth=$$DEPTH"; git pull --depth $$DEPTH && break; export DEPTH=$$(($$DEPTH+$$DEPTH));done @cd projects/gcc && export DEPTH=16; while true; do echo "trying depth=$$DEPTH"; git pull --depth $$DEPTH && break; export DEPTH=$$(($$DEPTH+$$DEPTH));done
GCC_VERSION=$(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 update-binutils: projects/binutils/configure
@ -180,51 +202,51 @@ update-binutils: projects/binutils/configure
$(MAKE) projects/binutils/configure; \ $(MAKE) projects/binutils/configure; \
$(MAKE) clean-binutils; \ $(MAKE) clean-binutils; \
fi fi
cd projects/binutils && export DEPTH=16; while true; do echo "trying depth=$$DEPTH"; git pull --depth $$DEPTH && break; export DEPTH=$$(($$DEPTH+$$DEPTH));done @cd projects/binutils && export DEPTH=16; while true; do echo "trying depth=$$DEPTH"; git pull --depth $$DEPTH && break; export DEPTH=$$(($$DEPTH+$$DEPTH));done
update-fd2sfd: projects/fd2sfd/configure update-fd2sfd: projects/fd2sfd/configure
cd projects/fd2sfd && git pull @cd projects/fd2sfd && git pull
update-fd2pragma: projects/fd2pragma/makefile update-fd2pragma: projects/fd2pragma/makefile
cd projects/fd2pragma && git pull @cd projects/fd2pragma && git pull
update-ira: projects/ira/Makefile update-ira: projects/ira/Makefile
cd projects/ira && git pull @cd projects/ira && git pull
update-sfdc: projects/sfdc/configure update-sfdc: projects/sfdc/configure
cd projects/sfdc && git pull @cd projects/sfdc && git pull
update-vasm: projects/vasm/Makefile update-vasm: projects/vasm/Makefile
cd projects/vasm && git pull @cd projects/vasm && git pull
update-vbcc: projects/vbcc/Makefile update-vbcc: projects/vbcc/Makefile
cd projects/vbcc && git pull @cd projects/vbcc && git pull
update-vlink: projects/vlink/Makefile update-vlink: projects/vlink/Makefile
cd projects/vlink && git pull @cd projects/vlink && git pull
update-libnix: projects/libnix/configure update-libnix: projects/libnix/configure
cd projects/libnix && git pull @cd projects/libnix && git pull
update-ixemul: projects/ixemul/configure update-ixemul: projects/ixemul/configure
cd projects/ixemul && git pull @cd projects/ixemul && git pull
update-clib2: projects/clib2/LICENSE update-clib2: projects/clib2/LICENSE
cd projects/clib2 && git pull @cd projects/clib2 && git pull
update-libdebug: projects/libdebug/configure update-libdebug: projects/libdebug/configure
cd projects/libdebug && git pull @cd projects/libdebug && git pull
update-libSDL12: projects/libSDL12/Makefile.bax update-libSDL12: projects/libSDL12/Makefile.bax
cd projects/libSDL12 && git pull @cd projects/libSDL12 && git pull
update-ndk: projects/NDK_3.9.info update-ndk: projects/NDK_3.9.info
update-newlib: projects/newlib-cygwin/newlib/configure update-newlib: projects/newlib-cygwin/newlib/configure
cd projects/newlib-cygwin && git pull @cd projects/newlib-cygwin && git pull
update-netinclude: projects/amiga-netinclude/README.md update-netinclude: projects/amiga-netinclude/README.md
cd projects/amiga-netinclude && git pull @cd projects/amiga-netinclude && git pull
update-gmp: update-gmp:
@mkdir -p download @mkdir -p download
@ -232,7 +254,7 @@ update-gmp:
then rm -rf projects/$(GMP); rm -rf projects/gcc/gmp; \ then rm -rf projects/$(GMP); rm -rf projects/gcc/gmp; \
else cd download && wget ftp://ftp.gnu.org/gnu/gmp/$(GMPFILE); \ else cd download && wget ftp://ftp.gnu.org/gnu/gmp/$(GMPFILE); \
fi; fi;
cd projects && tar xf ../download/$(GMPFILE) @cd projects && tar xf ../download/$(GMPFILE)
update-mpc: update-mpc:
@mkdir -p download @mkdir -p download
@ -240,7 +262,7 @@ update-mpc:
then rm -rf projcts/$(MPC); rm -rf projects/gcc/mpc; \ then rm -rf projcts/$(MPC); rm -rf projects/gcc/mpc; \
else cd download && wget ftp://ftp.gnu.org/gnu/mpc/$(MPCFILE); \ else cd download && wget ftp://ftp.gnu.org/gnu/mpc/$(MPCFILE); \
fi; fi;
cd projects && tar xf ../download/$(MPCFILE) @cd projects && tar xf ../download/$(MPCFILE)
update-mpfr: update-mpfr:
@mkdir -p download @mkdir -p download
@ -248,7 +270,7 @@ update-mpfr:
then rm -rf projects/$(MPFR); rm -rf projects/gcc/mpfr; \ then rm -rf projects/$(MPFR); rm -rf projects/gcc/mpfr; \
else cd download && wget ftp://ftp.gnu.org/gnu/mpfr/$(MPFRFILE); \ else cd download && wget ftp://ftp.gnu.org/gnu/mpfr/$(MPFRFILE); \
fi; fi;
cd projects && tar xf ../download/$(MPFRFILE) @cd projects && tar xf ../download/$(MPFRFILE)
status-all: status-all:
GCC_VERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER) GCC_VERSION=$(shell cat 2>/dev/null projects/gcc/gcc/BASE-VER)
@ -256,46 +278,6 @@ status-all:
# B I N # B I N
# ================================================= # =================================================
# =================================================
# gcc
# =================================================
CONFIG_GCC=--prefix=$(PREFIX) --target=m68k-amigaos --enable-languages=c,c++,objc --enable-version-specific-runtime-libs --disable-libssp --disable-nls \
--with-headers=$(PWD)/projects/newlib-cygwin/newlib/libc/sys/amigaos/include/ --disable-shared
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))
GCC_DIR = . gcc gcc/c gcc/c-family gcc/cp gcc/objc gcc/config/m68k libiberty libcpp libdecnumber
GCCD = $(patsubst %,projects/gcc/%, $(GCC_DIR))
gcc: $(BUILD)/gcc/_done
$(BUILD)/gcc/_done: $(BUILD)/gcc/Makefile $(shell find 2>/dev/null $(GCCD) -maxdepth 1 -type f )
$(MAKE) -C $(BUILD)/gcc all-gcc $(LOG)
$(MAKE) -C $(BUILD)/gcc install-gcc $(LOG)
echo "done" >$@
@echo "built $(GCC)"
$(BUILD)/gcc/Makefile: projects/gcc/configure $(BUILD)/binutils/_done
@mkdir -p $(BUILD)/gcc
ifneq ($(OWNGMP),)
@mkdir -p projects/gcc/gmp
@mkdir -p projects/gcc/mpc
@mkdir -p projects/gcc/mpfr
rsync -a projects/$(GMP)/* projects/gcc/gmp
rsync -a projects/$(MPC)/* projects/gcc/mpc
rsync -a projects/$(MPFR)/* projects/gcc/mpfr
endif
# if [ "$(UNAME_S)" == "Darwin" ]; then cd $(BUILD)/gcc && contrib/download_prerequisites; fi
cd $(BUILD)/gcc && $(E) $(PWD)/projects/gcc/configure $(CONFIG_GCC) $(LOG)
projects/gcc/configure:
@mkdir -p projects
cd projects && git clone -b $(GCC_BRANCH) --depth 16 https://github.com/bebbo/gcc
# ================================================= # =================================================
# binutils # binutils
# ================================================= # =================================================
@ -315,23 +297,62 @@ endif
binutils: $(BUILD)/binutils/_done binutils: $(BUILD)/binutils/_done
$(BUILD)/binutils/_done: $(BUILD)/binutils/gas/Makefile $(shell find 2>/dev/null projects/binutils -not \( -path projects/binutils/.git -prune \) -type f) $(BUILD)/binutils/_done: $(BUILD)/binutils/Makefile $(shell find 2>/dev/null projects/binutils -not \( -path projects/binutils/.git -prune \) -type f)
touch -t 0001010000 projects/binutils/binutils/arparse.y @touch -t 0001010000 projects/binutils/binutils/arparse.y
touch -t 0001010000 projects/binutils/binutils/arlex.l @touch -t 0001010000 projects/binutils/binutils/arlex.l
touch -t 0001010000 projects/binutils/ld/ldgram.y @touch -t 0001010000 projects/binutils/ld/ldgram.y
touch -t 0001010000 projects/binutils/intl/plural.y @touch -t 0001010000 projects/binutils/intl/plural.y
$(MAKE) -C $(BUILD)/binutils all-gas all-binutils all-ld $(ALL_GDB) $(LOG) $(L0)"make binutils"$(L1)$(MAKE) -C $(BUILD)/binutils all-gas all-binutils all-ld $(ALL_GDB) $(L2)
$(MAKE) -C $(BUILD)/binutils install-gas install-binutils install-ld $(INSTALL_GDB) $(LOG) $(L0)"install binutils"$(L1)$(MAKE) -C $(BUILD)/binutils install-gas install-binutils install-ld $(INSTALL_GDB) $(L2)
echo "done" >$@ @echo "done" >$@
echo "build $(BINUTILS)"
$(BUILD)/binutils/gas/Makefile: projects/binutils/configure $(BUILD)/binutils/Makefile: projects/binutils/configure
@mkdir -p $(BUILD)/binutils @mkdir -p $(BUILD)/binutils
cd $(BUILD)/binutils && $(E) $(PWD)/projects/binutils/configure $(CONFIG_BINUTILS) $(LOG) $(L0)"configure binutils"$(L1) cd $(BUILD)/binutils && $(E) $(PWD)/projects/binutils/configure $(CONFIG_BINUTILS) $(L2)
projects/binutils/configure: projects/binutils/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b $(BINUTILS_BRANCH) --depth 16 $(BINUTILS_GIT) binutils @cd projects && git clone -b $(BINUTILS_BRANCH) --depth 16 $(BINUTILS_GIT) binutils
# =================================================
# gcc
# =================================================
CONFIG_GCC=--prefix=$(PREFIX) --target=m68k-amigaos --enable-languages=c,c++,objc --enable-version-specific-runtime-libs --disable-libssp --disable-nls \
--with-headers=$(PWD)/projects/newlib-cygwin/newlib/libc/sys/amigaos/include/ --disable-shared
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))
GCC_DIR = . gcc gcc/c gcc/c-family gcc/cp gcc/objc gcc/config/m68k libiberty libcpp libdecnumber
GCCD = $(patsubst %,projects/gcc/%, $(GCC_DIR))
gcc: $(BUILD)/gcc/_done
$(BUILD)/gcc/_done: $(BUILD)/gcc/Makefile $(shell find 2>/dev/null $(GCCD) -maxdepth 1 -type f )
$(L0)"make gcc"$(L1) $(MAKE) -C $(BUILD)/gcc all-gcc $(L2)
$(L0)"install gcc"$(L1) $(MAKE) -C $(BUILD)/gcc install-gcc $(L2)
@echo "done" >$@
$(BUILD)/gcc/Makefile: projects/gcc/configure $(BUILD)/binutils/_done
@mkdir -p $(BUILD)/gcc
ifneq ($(OWNGMP),)
@mkdir -p projects/gcc/gmp
@mkdir -p projects/gcc/mpc
@mkdir -p projects/gcc/mpfr
@rsync -a projects/$(GMP)/* projects/gcc/gmp
@rsync -a projects/$(MPC)/* projects/gcc/mpc
@rsync -a projects/$(MPFR)/* projects/gcc/mpfr
endif
$(L0)"configure gcc"$(L1) cd $(BUILD)/gcc && $(E) $(PWD)/projects/gcc/configure $(CONFIG_GCC) $(L2)
projects/gcc/configure:
@mkdir -p projects
@cd projects && git clone -b $(GCC_BRANCH) --depth 16 https://github.com/bebbo/gcc
# ================================================= # =================================================
@ -342,20 +363,20 @@ CONFIG_FD2SFD = --prefix=$(PREFIX) --target=m68k-amigaos
fd2sfd: $(BUILD)/fd2sfd/_done fd2sfd: $(BUILD)/fd2sfd/_done
$(BUILD)/fd2sfd/_done: $(PREFIX)/bin/fd2sfd $(BUILD)/fd2sfd/_done: $(PREFIX)/bin/fd2sfd
@echo "built $(PREFIX)/bin/fd2sfd"
@echo "done" >$@ @echo "done" >$@
$(PREFIX)/bin/fd2sfd: $(BUILD)/fd2sfd/Makefile $(shell find 2>/dev/null projects/fd2sfd -not \( -path projects/fd2sfd/.git -prune \) -type f) $(PREFIX)/bin/fd2sfd: $(BUILD)/fd2sfd/Makefile $(shell find 2>/dev/null projects/fd2sfd -not \( -path projects/fd2sfd/.git -prune \) -type f)
$(MAKE) -C $(BUILD)/fd2sfd all $(LOG) $(L0)"make fd2sfd"$(L1) $(MAKE) -C $(BUILD)/fd2sfd all $(L2)
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
$(MAKE) -C $(BUILD)/fd2sfd install $(LOG) $(L0)"install fd2sfd"$(L1) $(MAKE) -C $(BUILD)/fd2sfd install $(L2)
$(BUILD)/fd2sfd/Makefile: projects/fd2sfd/configure $(BUILD)/fd2sfd/Makefile: projects/fd2sfd/configure
@mkdir -p $(BUILD)/fd2sfd @mkdir -p $(BUILD)/fd2sfd
cd $(BUILD)/fd2sfd && $(E) $(PWD)/projects/fd2sfd/configure $(CONFIG_FD2SFD) $(LOG) $(L0)"configure fd2sfd"$(L1) cd $(BUILD)/fd2sfd && $(E) $(PWD)/projects/fd2sfd/configure $(CONFIG_FD2SFD) $(L2)
projects/fd2sfd/configure: projects/fd2sfd/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/cahirwpz/fd2sfd @cd projects && git clone -b master --depth 4 https://github.com/cahirwpz/fd2sfd
for i in $$(find patches/fd2sfd/ -type f); \ for i in $$(find patches/fd2sfd/ -type f); \
do if [[ "$$i" == *.diff ]] ; \ do if [[ "$$i" == *.diff ]] ; \
then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; fi ; done then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; fi ; done
@ -366,20 +387,19 @@ projects/fd2sfd/configure:
fd2pragma: $(BUILD)/fd2pragma/_done fd2pragma: $(BUILD)/fd2pragma/_done
$(BUILD)/fd2pragma/_done: $(PREFIX)/bin/fd2pragma $(BUILD)/fd2pragma/_done: $(PREFIX)/bin/fd2pragma
@echo "built $(PREFIX)/bin/fd2pragma"
@echo "done" >$@ @echo "done" >$@
$(PREFIX)/bin/fd2pragma: $(BUILD)/fd2pragma/fd2pragma $(PREFIX)/bin/fd2pragma: $(BUILD)/fd2pragma/fd2pragma
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
install $(BUILD)/fd2pragma/fd2pragma $(PREFIX)/bin/ $(L0)"install fd2sfd"$(L1) install $(BUILD)/fd2pragma/fd2pragma $(PREFIX)/bin/ $(L2)
$(BUILD)/fd2pragma/fd2pragma: projects/fd2pragma/makefile $(shell find 2>/dev/null projects/fd2pragma -not \( -path projects/fd2pragma/.git -prune \) -type f) $(BUILD)/fd2pragma/fd2pragma: projects/fd2pragma/makefile $(shell find 2>/dev/null projects/fd2pragma -not \( -path projects/fd2pragma/.git -prune \) -type f)
@mkdir -p $(BUILD)/fd2pragma @mkdir -p $(BUILD)/fd2pragma
cd projects/fd2pragma && $(CC) -o $(PWD)/$@ $(CFLAGS) fd2pragma.c $(L0)"make fd2sfd"$(L1) cd projects/fd2pragma && $(CC) -o $(PWD)/$@ $(CFLAGS) fd2pragma.c $(L2)
projects/fd2pragma/makefile: projects/fd2pragma/makefile:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/adtools/fd2pragma @cd projects && git clone -b master --depth 4 https://github.com/adtools/fd2pragma
# ================================================= # =================================================
# ira # ira
@ -387,20 +407,19 @@ projects/fd2pragma/makefile:
ira: $(BUILD)/ira/_done ira: $(BUILD)/ira/_done
$(BUILD)/ira/_done: $(PREFIX)/bin/ira $(BUILD)/ira/_done: $(PREFIX)/bin/ira
@echo "built $(PREFIX)/bin/ira"
@echo "done" >$@ @echo "done" >$@
$(PREFIX)/bin/ira: $(BUILD)/ira/ira $(PREFIX)/bin/ira: $(BUILD)/ira/ira
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
install $(BUILD)/ira/ira $(PREFIX)/bin/ $(L0)"install ira"$(L1) install $(BUILD)/ira/ira $(PREFIX)/bin/ $(L2)
$(BUILD)/ira/ira: projects/ira/Makefile $(shell find 2>/dev/null projects/ira -not \( -path projects/ira/.git -prune \) -type f) $(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 @mkdir -p $(BUILD)/ira
cd projects/ira && $(CC) -o $(PWD)/$@ $(CFLAGS) *.c -std=c99 $(L0)"make ira"$(L1) cd projects/ira && $(CC) -o $(PWD)/$@ $(CFLAGS) *.c -std=c99 $(L2)
projects/ira/Makefile: projects/ira/Makefile:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/bebbo/ira @cd projects && git clone -b master --depth 4 https://github.com/bebbo/ira
# ================================================= # =================================================
# sfdc # sfdc
@ -410,21 +429,20 @@ CONFIG_SFDC = --prefix=$(PREFIX) --target=m68k-amigaos
sfdc: $(BUILD)/sfdc/_done sfdc: $(BUILD)/sfdc/_done
$(BUILD)/sfdc/_done: $(PREFIX)/bin/sfdc $(BUILD)/sfdc/_done: $(PREFIX)/bin/sfdc
@echo "built $(PREFIX)/bin/sfdc"
@echo "done" >$@ @echo "done" >$@
$(PREFIX)/bin/sfdc: $(BUILD)/sfdc/Makefile $(shell find 2>/dev/null projects/sfdc -not \( -path projects/sfdc/.git -prune \) -type f) $(PREFIX)/bin/sfdc: $(BUILD)/sfdc/Makefile $(shell find 2>/dev/null projects/sfdc -not \( -path projects/sfdc/.git -prune \) -type f)
$(MAKE) -C $(BUILD)/sfdc sfdc $(LOG) $(L0)"make sfdc"$(L1) $(MAKE) -C $(BUILD)/sfdc sfdc $(L2)
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
install $(BUILD)/sfdc/sfdc $(PREFIX)/bin $(L0)"install sfdc"$(L1) install $(BUILD)/sfdc/sfdc $(PREFIX)/bin $(L2)
$(BUILD)/sfdc/Makefile: projects/sfdc/configure $(BUILD)/sfdc/Makefile: projects/sfdc/configure
rsync -a projects/sfdc $(BUILD)/ --exclude .git @rsync -a projects/sfdc $(BUILD)/ --exclude .git
cd $(BUILD)/sfdc && $(E) $(PWD)/$(BUILD)/sfdc/configure $(CONFIG_SFDC) $(LOG) $(L0)"configure sfdc"$(L1) cd $(BUILD)/sfdc && $(E) $(PWD)/$(BUILD)/sfdc/configure $(CONFIG_SFDC) $(L2)
projects/sfdc/configure: projects/sfdc/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/adtools/sfdc @cd projects && git clone -b master --depth 4 https://github.com/adtools/sfdc
for i in $$(find patches/sfdc/ -type f); \ for i in $$(find patches/sfdc/ -type f); \
do if [[ "$$i" == *.diff ]] ; \ do if [[ "$$i" == *.diff ]] ; \
then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; fi ; done then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; fi ; done
@ -438,23 +456,22 @@ VASM = $(patsubst %,$(PREFIX)/bin/%$(EXEEXT), $(VASM_CMD))
vasm: $(BUILD)/vasm/_done vasm: $(BUILD)/vasm/_done
$(BUILD)/vasm/_done: $(BUILD)/vasm/Makefile $(shell find 2>/dev/null projects/vasm -not \( -path projects/vasm/.git -prune \) -type f) $(BUILD)/vasm/_done: $(BUILD)/vasm/Makefile $(shell find 2>/dev/null projects/vasm -not \( -path projects/vasm/.git -prune \) -type f)
$(MAKE) -C $(BUILD)/vasm CPU=m68k SYNTAX=mot $(LOG) $(L0)"make vasm"$(L1) $(MAKE) -C $(BUILD)/vasm CPU=m68k SYNTAX=mot $(L2)
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
install $(BUILD)/vasm/vasmm68k_mot $(PREFIX)/bin/ $(L0)"install vasm"$(L1) install $(BUILD)/vasm/vasmm68k_mot $(PREFIX)/bin/ ;\
install $(BUILD)/vasm/vobjdump $(PREFIX)/bin/ install $(BUILD)/vasm/vobjdump $(PREFIX)/bin/ ;\
cp patches/vc.config $(BUILD)/vasm/vc.config cp patches/vc.config $(BUILD)/vasm/vc.config ;\
sed -e "s|PREFIX|$(PREFIX)|g" -i.bak $(BUILD)/vasm/vc.config sed -e "s|PREFIX|$(PREFIX)|g" -i.bak $(BUILD)/vasm/vc.config ;\
mkdir -p $(PREFIX)/m68k-amigaos/etc/ @mkdir -p $(PREFIX)/m68k-amigaos/etc/ ;\
install $(BUILD)/vasm/vc.config $(PREFIX)/bin/ install $(BUILD)/vasm/vc.config $(PREFIX)/bin/ $(L2)
@echo "done" >$@ @echo "done" >$@
@echo "built $(vasm)"
$(BUILD)/vasm/Makefile: projects/vasm/Makefile $(BUILD)/vasm/Makefile: projects/vasm/Makefile
rsync -a projects/vasm $(BUILD)/ --exclude .git @rsync -a projects/vasm $(BUILD)/ --exclude .git
projects/vasm/Makefile: projects/vasm/Makefile:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/leffmann/vasm @cd projects && git clone -b master --depth 4 https://github.com/leffmann/vasm
# ================================================= # =================================================
# vbcc # vbcc
@ -465,22 +482,22 @@ VBCC = $(patsubst %,$(PREFIX)/bin/%$(EXEEXT), $(VBCC_CMD))
vbcc: $(BUILD)/vbcc/_done vbcc: $(BUILD)/vbcc/_done
$(BUILD)/vbcc/_done: $(BUILD)/vbcc/Makefile $(shell find 2>/dev/null projects/vbcc -not \( -path projects/vbcc/.git -prune \) -type f) $(BUILD)/vbcc/_done: $(BUILD)/vbcc/Makefile $(shell find 2>/dev/null projects/vbcc -not \( -path projects/vbcc/.git -prune \) -type f)
cd $(BUILD)/vbcc && TARGET=m68k $(MAKE) bin/dtgen $(LOG) $(L0)"make vbcc dtgen"$(L1) TARGET=m68k $(MAKE) -C $(BUILD)/vbcc bin/dtgen $(L2)
cd $(BUILD)/vbcc && echo -e "y\\ny\\nsigned char\\ny\\nunsigned char\\nn\\ny\\nsigned short\\nn\\ny\\nunsigned short\\nn\\ny\\nsigned int\\nn\\ny\\nunsigned int\\nn\\ny\\nsigned long long\\nn\\ny\\nunsigned long long\\nn\\ny\\nfloat\\nn\\ny\\ndouble\\n" >c.txt; bin/dtgen machines/m68k/machine.dt machines/m68k/dt.h machines/m68k/dt.c <c.txt @cd $(BUILD)/vbcc && echo -e "y\\ny\\nsigned char\\ny\\nunsigned char\\nn\\ny\\nsigned short\\nn\\ny\\nunsigned short\\nn\\ny\\nsigned int\\nn\\ny\\nunsigned int\\nn\\ny\\nsigned long long\\nn\\ny\\nunsigned long long\\nn\\ny\\nfloat\\nn\\ny\\ndouble\\n" >c.txt
cd $(BUILD)/vbcc && TARGET=m68k $(MAKE) $(LOG) $(L0)"run vbcc dtgen"$(L1) cd $(BUILD)/vbcc && bin/dtgen machines/m68k/machine.dt machines/m68k/dt.h machines/m68k/dt.c <c.txt $(L2)
mkdir -p $(PREFIX)/bin/ $(L0)"make vbcc"$(L1) TARGET=m68k $(MAKE) -C $(BUILD)/vbcc $(L2)
rm -rf $(BUILD)/vbcc/bin/*.dSYM @mkdir -p $(PREFIX)/bin/
install $(BUILD)/vbcc/bin/v* $(PREFIX)/bin/ @rm -rf $(BUILD)/vbcc/bin/*.dSYM
$(L0)"install vbcc"$(L1) install $(BUILD)/vbcc/bin/v* $(PREFIX)/bin/ $(L2)
@echo "done" >$@ @echo "done" >$@
@echo "built $(VBCC)"
$(BUILD)/vbcc/Makefile: projects/vbcc/Makefile $(BUILD)/vbcc/Makefile: projects/vbcc/Makefile
rsync -a projects/vbcc $(BUILD)/ --exclude .git @rsync -a projects/vbcc $(BUILD)/ --exclude .git
mkdir -p $(BUILD)/vbcc/bin @mkdir -p $(BUILD)/vbcc/bin
projects/vbcc/Makefile: projects/vbcc/Makefile:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/leffmann/vbcc @cd projects && git clone -b master --depth 4 https://github.com/leffmann/vbcc
# ================================================= # =================================================
# vlink # vlink
@ -491,18 +508,31 @@ VLINK = $(patsubst %,$(PREFIX)/bin/%$(EXEEXT), $(VLINK_CMD))
vlink: $(BUILD)/vlink/_done vlink: $(BUILD)/vlink/_done
$(BUILD)/vlink/_done: $(BUILD)/vlink/Makefile $(shell find 2>/dev/null projects/vlink -not \( -path projects/vlink/.git -prune \) -type f) $(BUILD)/vlink/_done: $(BUILD)/vlink/Makefile $(shell find 2>/dev/null projects/vlink -not \( -path projects/vlink/.git -prune \) -type f)
cd $(BUILD)/vlink && TARGET=m68k $(MAKE) $(LOG) $(L0)"make vlink"$(L1) cd $(BUILD)/vlink && TARGET=m68k $(MAKE) $(L2)
mkdir -p $(PREFIX)/bin/ @mkdir -p $(PREFIX)/bin/
install $(BUILD)/vlink/vlink $(PREFIX)/bin/ $(L0)"install vlink"$(L1) install $(BUILD)/vlink/vlink $(PREFIX)/bin/ $(L2)
@echo "done" >$@ @echo "done" >$@
@echo "built $(VLINK)"
$(BUILD)/vlink/Makefile: projects/vlink/Makefile $(BUILD)/vlink/Makefile: projects/vlink/Makefile
rsync -a projects/vlink $(BUILD)/ --exclude .git @rsync -a projects/vlink $(BUILD)/ --exclude .git
projects/vlink/Makefile: projects/vlink/Makefile:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/leffmann/vlink @cd projects && git clone -b master --depth 4 https://github.com/leffmann/vlink
.PHONY: lha
lha: $(BUILD)/lha/_done
$(BUILD)/lha/_done:
@if [ ! -e "$$(which lha)" ]; then \
cd $(BUILD) && rm -rf lha; \
git clone https://github.com/jca02266/lha; \
cd lha; \
$(L00)"configure lha"$(L1) aclocal; autoheader; automake -a; autoconf; ./configure; $(L2); \
$(L00)"make lha"$(L1) make all; $(L2); \
$(L00)"install lha"$(L1) mkdir -p $(PREFIX)/bin/; install src/lha$(EXEEXT) $(PREFIX)/bin/lha$(EXEEXT); $(L2); \
fi
@echo "done" >$@
# ================================================= # =================================================
# L I B R A R I E S # L I B R A R I E S
@ -523,71 +553,70 @@ SYS_INCLUDE2 = $(filter-out $(NDK_INCLUDE_PROTO),$(patsubst projects/NDK_3.9/Inc
ndk: $(BUILD)/ndk-include/_ndk ndk: $(BUILD)/ndk-include/_ndk
$(BUILD)/ndk-include/_ndk: $(BUILD)/ndk-include/_ndk0 $(NDK_INCLUDE_INLINE) $(NDK_INCLUDE_LVO) $(NDK_INCLUDE_PROTO) projects/fd2sfd/configure projects/fd2pragma/makefile $(BUILD)/ndk-include/_ndk: $(BUILD)/ndk-include/_ndk0 $(NDK_INCLUDE_INLINE) $(NDK_INCLUDE_LVO) $(NDK_INCLUDE_PROTO) projects/fd2sfd/configure projects/fd2pragma/makefile
mkdir -p $(BUILD)/ndk-include/ @mkdir -p $(BUILD)/ndk-include/
echo "done" >$@ @echo "done" >$@
$(BUILD)/ndk-include/_ndk0: projects/NDK_3.9.info $(NDK_INCLUDE) $(BUILD)/ndk-include/_ndk0: projects/NDK_3.9.info $(NDK_INCLUDE)
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include @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_h/* $(PREFIX)/m68k-amigaos/ndk-include --exclude proto
rsync -a $(PWD)/projects/NDK_3.9/Include/include_i/* $(PREFIX)/m68k-amigaos/ndk-include @rsync -a $(PWD)/projects/NDK_3.9/Include/include_i/* $(PREFIX)/m68k-amigaos/ndk-include
mkdir -p $(PREFIX)/m68k-amigaos/ndk/lib @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/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/sfd $(PREFIX)/m68k-amigaos/ndk/lib
rsync -a $(PWD)/projects/NDK_3.9/Include/linker_libs $(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/ndk-include/proto @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/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 @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 @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/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/stubs.h $(PREFIX)/m68k-amigaos/ndk-include/inline
cp -p projects/fd2pragma/Include/inline/macros.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/ @mkdir -p $(BUILD)/ndk-include/
echo "done" >$@ @echo "done" >$@
ndk-inline: $(NDK_INCLUDE_INLINE) sfdc $(BUILD)/ndk-include/_inline ndk-inline: $(NDK_INCLUDE_INLINE) sfdc $(BUILD)/ndk-include/_inline
$(NDK_INCLUDE_INLINE): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_inline $(BUILD)/ndk-include/_lvo $(BUILD)/ndk-include/_proto $(BUILD)/ndk-include/_ndk0 $(NDK_INCLUDE_INLINE): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_inline $(BUILD)/ndk-include/_lvo $(BUILD)/ndk-include/_proto $(BUILD)/ndk-include/_ndk0
sfdc --target=m68k-amigaos --mode=macros --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/inline/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L0)"sfdc inline $(@F)"$(L1) sfdc --target=m68k-amigaos --mode=macros --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/inline/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L2)
ndk-lvo: $(NDK_INCLUDE_LVO) sfdc ndk-lvo: $(NDK_INCLUDE_LVO) sfdc
$(NDK_INCLUDE_LVO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_lvo $(BUILD)/ndk-include/_ndk0 $(NDK_INCLUDE_LVO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_lvo $(BUILD)/ndk-include/_ndk0
sfdc --target=m68k-amigaos --mode=lvo --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/lvo/%_lib.i,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L0)"sfdc lvo $(@F)"$(L1) sfdc --target=m68k-amigaos --mode=lvo --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/lvo/%_lib.i,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L2)
ndk-proto: $(NDK_INCLUDE_PROTO) sfdc ndk-proto: $(NDK_INCLUDE_PROTO) sfdc
$(NDK_INCLUDE_PROTO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_proto $(BUILD)/ndk-include/_ndk0 $(NDK_INCLUDE_PROTO): $(PREFIX)/bin/sfdc $(NDK_INCLUDE_SFD) $(BUILD)/ndk-include/_proto $(BUILD)/ndk-include/_ndk0
sfdc --target=m68k-amigaos --mode=proto --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/proto/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L0)"sfdc proto $(@F)"$(L1) sfdc --target=m68k-amigaos --mode=proto --output=$@ $(patsubst $(PREFIX)/m68k-amigaos/ndk-include/proto/%.h,projects/NDK_3.9/Include/sfd/%_lib.sfd,$@) $(L2)
$(BUILD)/ndk-include/_inline: $(BUILD)/ndk-include/_inline:
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/inline @mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/inline
mkdir -p $(BUILD)/ndk-include/ @mkdir -p $(BUILD)/ndk-include/
echo "done" >$@ @echo "done" >$@
$(BUILD)/ndk-include/_lvo: $(BUILD)/ndk-include/_lvo:
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/lvo @mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/lvo
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/lvo @mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/lvo
mkdir -p $(BUILD)/ndk-include/ @mkdir -p $(BUILD)/ndk-include/
echo "done" >$@ @echo "done" >$@
$(BUILD)/ndk-include/_proto: $(BUILD)/ndk-include/_proto:
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/proto @mkdir -p $(PREFIX)/m68k-amigaos/ndk-include/proto
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/proto @mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/proto
mkdir -p $(BUILD)/ndk-include/ @mkdir -p $(BUILD)/ndk-include/
echo "done" >$@ @echo "done" >$@
projects/NDK_3.9.info: download/NDK39.lha $(shell find 2>/dev/null patches/NDK_3.9/ -type f) projects/NDK_3.9.info: $(BUILD)/lha/_done download/NDK39.lha $(shell find 2>/dev/null patches/NDK_3.9/ -type f)
mkdir -p projects @mkdir -p projects
mkdir -p $(BUILD)/ @mkdir -p $(BUILD)/
if [ ! -e "$$(which lha)" ]; then cd $(BUILD)/ && rm -rf lha; git clone https://github.com/jca02266/lha; cd lha; aclocal; autoheader; automake -a; autoconf; ./configure; make all; mkdir -p $(PREFIX)/bin/; install src/lha$(EXEEXT) $(PREFIX)/bin/lha$(EXEEXT); fi $(L0)"unpack ndk"$(L1) cd projects && lha xf ../download/NDK39.lha $(L2)
cd projects && lha xf ../download/NDK39.lha @touch -t 0001010000 download/NDK39.lha
touch -t 0001010000 download/NDK39.lha $(L0)"patch ndk"$(L1) for i in $$(find patches/NDK_3.9/ -type f); do \
for i in $$(find patches/NDK_3.9/ -type f); \ if [[ "$$i" == *.diff ]] ; \
do if [[ "$$i" == *.diff ]] ; \
then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; \ then j=$${i:8}; patch -N "projects/$${j%.diff}" "$$i"; \
else cp -pv "$$i" "projects/$${i:8}"; fi ; done else cp -pv "$$i" "projects/$${i:8}"; fi ; done $(L2)
touch projects/NDK_3.9.info @touch projects/NDK_3.9.info
download/NDK39.lha: download/NDK39.lha:
mkdir -p download @mkdir -p download
cd download && wget http://www.haage-partner.de/download/AmigaOS/NDK39.lha @cd download && wget http://www.haage-partner.de/download/AmigaOS/NDK39.lha
# ================================================= # =================================================
@ -597,38 +626,38 @@ download/NDK39.lha:
ndk13: $(BUILD)/ndk-include/_ndk13 ndk13: $(BUILD)/ndk-include/_ndk13
$(BUILD)/ndk-include/_ndk13: $(BUILD)/ndk-include/_ndk $(BUILD)/ndk-include/_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); cp $(PREFIX)/m68k-amigaos/ndk-include/$$p $(PREFIX)/m68k-amigaos/ndk13-include/$$p; done < patches/ndk13/hfiles
while read p; do \ $(L0)"extract ndk13"$(L1) while read p; do \
mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); \ mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); \
if grep V36 $(PREFIX)/m68k-amigaos/ndk-include/$$p; then \ if grep V36 $(PREFIX)/m68k-amigaos/ndk-include/$$p; then \
LC_CTYPE=C sed -n -e '/#ifndef CLIB/,/V36/p' $(PREFIX)/m68k-amigaos/ndk-include/$$p >$(PREFIX)/m68k-amigaos/ndk13-include/$$p; \ LC_CTYPE=C 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; \ echo -e "#ifdef __cplusplus\n}\n#endif /* __cplusplus */\n#endif" >>$(PREFIX)/m68k-amigaos/ndk13-include/$$p; \
else cp $(PREFIX)/m68k-amigaos/ndk-include/$$p $(PREFIX)/m68k-amigaos/ndk13-include/$$p; fi \ else cp $(PREFIX)/m68k-amigaos/ndk-include/$$p $(PREFIX)/m68k-amigaos/ndk13-include/$$p; fi \
done < patches/ndk13/chfiles done < patches/ndk13/chfiles $(L2)
while read p; do mkdir -p $(PREFIX)/m68k-amigaos/ndk13-include/$$(dirname $$p); echo "" >$(PREFIX)/m68k-amigaos/ndk13-include/$$p; done < patches/ndk13/ehfiles @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 '#undef EXECNAME' > $(PREFIX)/m68k-amigaos/ndk13-include/exec/execname.h
echo '#define EXECNAME "exec.library"' >> $(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 @mkdir -p $(PREFIX)/m68k-amigaos/ndk/lib/fd13
while read p; do LC_CTYPE=C sed -n -e '/##base/,/V36/P' $(PREFIX)/m68k-amigaos/ndk/lib/fd/$$p >$(PREFIX)/m68k-amigaos/ndk/lib/fd13/$$p; done < patches/ndk13/fdfiles @while read p; do LC_CTYPE=C 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 @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/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 \ $(L0)"macros+protos ndk13"$(L1) 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=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; \ sfdc --target=m68k-amigaos --mode=proto --output=$(PREFIX)/m68k-amigaos/ndk13-include/proto/$$(basename $$i _lib.sfd).h $$i; \
done done $(L2)
echo "done" >$@ @echo "done" >$@
# ================================================= # =================================================
# netinclude # netinclude
# ================================================= # =================================================
$(BUILD)/_netinclude: projects/amiga-netinclude/README.md $(BUILD)/ndk-include/_ndk $(shell find 2>/dev/null projects/amiga-netinclude/include -type f) $(BUILD)/_netinclude: projects/amiga-netinclude/README.md $(BUILD)/ndk-include/_ndk $(shell find 2>/dev/null projects/amiga-netinclude/include -type f)
mkdir -p $(PREFIX)/m68k-amigaos/ndk-include @mkdir -p $(PREFIX)/m68k-amigaos/ndk-include
rsync -a $(PWD)/projects/amiga-netinclude/include/* $(PREFIX)/m68k-amigaos/ndk-include @rsync -a $(PWD)/projects/amiga-netinclude/include/* $(PREFIX)/m68k-amigaos/ndk-include
echo "done" >$@ @echo "done" >$@
projects/amiga-netinclude/README.md: projects/amiga-netinclude/README.md:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/bebbo/amiga-netinclude @cd projects && git clone -b master --depth 4 https://github.com/bebbo/amiga-netinclude
# ================================================= # =================================================
# libamiga # libamiga
@ -639,8 +668,8 @@ libamiga: $(LIBAMIGA)
@echo "built $(LIBAMIGA)" @echo "built $(LIBAMIGA)"
$(LIBAMIGA): $(LIBAMIGA):
mkdir -p $(@D) @mkdir -p $(@D)
cp -p $(patsubst $(PREFIX)/m68k-amigaos/%,%,$@) $(@D) @cp -p $(patsubst $(PREFIX)/m68k-amigaos/%,%,$@) $(@D)
# ================================================= # =================================================
# libnix # libnix
@ -653,31 +682,30 @@ LIBNIX_SRC = $(shell find 2>/dev/null projects/libnix -not \( -path projects/lib
libnix: $(BUILD)/libnix/_done libnix: $(BUILD)/libnix/_done
$(BUILD)/libnix/_done: $(BUILD)/libnix/Makefile $(BUILD)/libnix/_done: $(BUILD)/libnix/Makefile
$(MAKE) -C $(BUILD)/libnix $(LOG) $(L0)"make libnix"$(L1) $(MAKE) -C $(BUILD)/libnix $(L2)
$(MAKE) -C $(BUILD)/libnix install $(LOG) $(L0)"install libnix"$(L1) $(MAKE) -C $(BUILD)/libnix install $(L2)
cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libb/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libb/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libb32/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/libnix/lib/libm020/libb32/libm.a $(COMPLEX_FILES)
@echo "done" >$@ @echo "done" >$@
@echo "built $(LIBNIX)"
$(BUILD)/libnix/Makefile: $(BUILD)/newlib/_done $(BUILD)/ndk-include/_ndk $(BUILD)/ndk-include/_ndk13 $(BUILD)/_netinclude $(BUILD)/binutils/_done $(BUILD)/gcc/_done projects/libnix/configure projects/libnix/Makefile.in $(LIBAMIGA) $(LIBNIX_SRC) $(BUILD)/libnix/Makefile: $(BUILD)/newlib/_done $(BUILD)/ndk-include/_ndk $(BUILD)/ndk-include/_ndk13 $(BUILD)/_netinclude $(BUILD)/binutils/_done $(BUILD)/gcc/_done projects/libnix/configure projects/libnix/Makefile.in $(LIBAMIGA) $(LIBNIX_SRC)
mkdir -p $(PREFIX)/m68k-amigaos/libnix/lib/libnix @mkdir -p $(PREFIX)/m68k-amigaos/libnix/lib/libnix
mkdir -p $(BUILD)/libnix @mkdir -p $(BUILD)/libnix
echo 'void foo(){}' > $(BUILD)/libnix/x.c @echo 'void foo(){}' > $(BUILD)/libnix/x.c
if [ ! -e $(PREFIX)/m68k-amigaos/lib/libstubs.a ]; then $(PREFIX)/bin/m68k-amigaos-ar r $(PREFIX)/m68k-amigaos/lib/libstubs.a; fi @if [ ! -e $(PREFIX)/m68k-amigaos/lib/libstubs.a ]; then $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/lib/libstubs.a; fi
mkdir -p $(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION) @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 @if [ ! -e $(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)/libgcc.a ]; then $(PREFIX)/bin/m68k-amigaos-ar rcs $(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) $(LOG) $(L0)"configure libnix"$(L1) 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) $(L2)
mkdir -p $(PREFIX)/m68k-amigaos/libnix/include/ @mkdir -p $(PREFIX)/m68k-amigaos/libnix/include/
rsync -a projects/libnix/sources/headers/* $(PREFIX)/m68k-amigaos/libnix/include/ @rsync -a projects/libnix/sources/headers/* $(PREFIX)/m68k-amigaos/libnix/include/
touch $(BUILD)/libnix/Makefile @touch $(BUILD)/libnix/Makefile
projects/libnix/configure: projects/libnix/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/bebbo/libnix @cd projects && git clone -b master --depth 4 https://github.com/bebbo/libnix
# ================================================= # =================================================
# gcc libs # gcc libs
@ -688,10 +716,9 @@ LIBGCCS= $(patsubst %,$(PREFIX)/lib/gcc/m68k-amigaos/$(GCC_VERSION)/%,$(LIBGCCS_
libgcc: $(BUILD)/gcc/_libgcc_done libgcc: $(BUILD)/gcc/_libgcc_done
$(BUILD)/gcc/_libgcc_done: $(BUILD)/libnix/_done $(LIBAMIGA) $(BUILD)/gcc/_libgcc_done: $(BUILD)/libnix/_done $(LIBAMIGA)
$(MAKE) -C $(BUILD)/gcc all-target $(LOG) $(L0)"make libgcc"$(L1) $(MAKE) -C $(BUILD)/gcc all-target $(L2)
$(MAKE) -C $(BUILD)/gcc install-target $(LOG) $(L0)"install libgcc"$(L1) $(MAKE) -C $(BUILD)/gcc install-target $(L2)
echo "done" >$@ @echo "done" >$@
echo "$(LIBGCCS)"
# ================================================= # =================================================
# clib2 # clib2
@ -700,23 +727,23 @@ $(BUILD)/gcc/_libgcc_done: $(BUILD)/libnix/_done $(LIBAMIGA)
clib2: $(BUILD)/clib2/_done clib2: $(BUILD)/clib2/_done
$(BUILD)/clib2/_done: projects/clib2/LICENSE $(shell find 2>/dev/null projects/clib2 -not \( -path projects/clib2/.git -prune \) -type f) $(BUILD)/libnix/Makefile $(LIBAMIGA) $(BUILD)/clib2/_done: projects/clib2/LICENSE $(shell find 2>/dev/null projects/clib2 -not \( -path projects/clib2/.git -prune \) -type f) $(BUILD)/libnix/Makefile $(LIBAMIGA)
mkdir -p $(BUILD)/clib2/ @mkdir -p $(BUILD)/clib2/
rsync -a projects/clib2/library/* $(BUILD)/clib2 @rsync -a projects/clib2/library/* $(BUILD)/clib2
cd $(BUILD)/clib2 && find * -name lib\*.a -delete @cd $(BUILD)/clib2 && find * -name lib\*.a -delete
$(MAKE) -C $(BUILD)/clib2 -f GNUmakefile.68k $(LOG) $(L0)"make clib2"$(L1) $(MAKE) -C $(BUILD)/clib2 -f GNUmakefile.68k $(L2)
mkdir -p $(PREFIX)/m68k-amigaos/clib2 @mkdir -p $(PREFIX)/m68k-amigaos/clib2
rsync -a $(BUILD)/clib2/include $(PREFIX)/m68k-amigaos/clib2 @rsync -a $(BUILD)/clib2/include $(PREFIX)/m68k-amigaos/clib2
rsync -a $(BUILD)/clib2/lib $(PREFIX)/m68k-amigaos/clib2 @rsync -a $(BUILD)/clib2/lib $(PREFIX)/m68k-amigaos/clib2
cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libb/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libb/libm.a $(COMPLEX_FILES)
cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libb32/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar rcs $(PREFIX)/m68k-amigaos/clib2/lib/libm020/libb32/libm.a $(COMPLEX_FILES)
echo "done" >$@ @echo "done" >$@
projects/clib2/LICENSE: projects/clib2/LICENSE:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/bebbo/clib2 @cd projects && git clone -b master --depth 4 https://github.com/bebbo/clib2
# ================================================= # =================================================
# libdebug # libdebug
@ -726,18 +753,18 @@ CONFIG_LIBDEBUG = --prefix=$(PREFIX) --target=m68k-amigaos --host=m68k-amigaos
libdebug: $(BUILD)/libdebug/_done libdebug: $(BUILD)/libdebug/_done
$(BUILD)/libdebug/_done: $(BUILD)/libdebug/Makefile $(BUILD)/libdebug/_done: $(BUILD)/libdebug/Makefile
$(MAKE) -C $(BUILD)/libdebug $(LOG) $(L0)"make libdebug"$(L1) $(MAKE) -C $(BUILD)/libdebug $(L2)
cp $(BUILD)/libdebug/libdebug.a $(PREFIX)/m68k-amigaos/lib/ @cp $(BUILD)/libdebug/libdebug.a $(PREFIX)/m68k-amigaos/lib/
echo "done" >$@ @echo "done" >$@
$(BUILD)/libdebug/Makefile: $(BUILD)/libnix/_done projects/libdebug/configure $(shell find 2>/dev/null projects/libdebug -not \( -path projects/libdebug/.git -prune \) -type f) $(BUILD)/libdebug/Makefile: $(BUILD)/libnix/_done projects/libdebug/configure $(shell find 2>/dev/null projects/libdebug -not \( -path projects/libdebug/.git -prune \) -type f)
mkdir -p $(BUILD)/libdebug @mkdir -p $(BUILD)/libdebug
cd $(BUILD)/libdebug && CFLAGS="$(TARGET_C_FLAGS)" $(PWD)/projects/libdebug/configure $(CONFIG_LIBDEBUG) $(LOG) @cd $(BUILD)/libdebug && CFLAGS="$(TARGET_C_FLAGS)" $(PWD)/projects/libdebug/configure $(CONFIG_LIBDEBUG)
projects/libdebug/configure: projects/libdebug/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/bebbo/libdebug @cd projects && git clone -b master --depth 4 https://github.com/bebbo/libdebug
touch -t 0001010000 projects/libdebug/configure.ac @touch -t 0001010000 projects/libdebug/configure.ac
# ================================================= # =================================================
# libsdl # libsdl
@ -747,25 +774,25 @@ CONFIG_LIBSDL12 = PREFX=$(PREFIX) PREF=$(PREFIX)
libSDL12: $(BUILD)/libSDL12/_done libSDL12: $(BUILD)/libSDL12/_done
$(BUILD)/libSDL12/_done: $(BUILD)/libSDL12/Makefile.bax $(BUILD)/libSDL12/_done: $(BUILD)/libSDL12/Makefile.bax
$(MAKE) sdk=ahi $(LOG) $(MAKE) sdk=ahi
$(MAKE) sdk=cgx $(LOG) $(MAKE) sdk=cgx
cd $(BUILD)/libSDL12 && CFLAGS="$(TARGET_C_FLAGS)" $(MAKE) -f Makefile.bax $(CONFIG_LIBSDL12) $(LOG) $(L0)"make libSDL12"$(L1) cd $(BUILD)/libSDL12 && CFLAGS="$(TARGET_C_FLAGS)" $(MAKE) -f Makefile.bax $(CONFIG_LIBSDL12) $(L2)
cp $(BUILD)/libSDL12/libSDL.a $(PREFIX)/m68k-amigaos/lib/ $(L0)"install libSDL12"$(L1) cp $(BUILD)/libSDL12/libSDL.a $(PREFIX)/m68k-amigaos/lib/ $(L2)
mkdir -p $(PREFIX)/include/GL @mkdir -p $(PREFIX)/include/GL
mkdir -p $(PREFIX)/include/SDL @mkdir -p $(PREFIX)/include/SDL
rsync -a $(BUILD)/libSDL12/include/GL/*.i $(PREFIX)/include/GL/ @rsync -a $(BUILD)/libSDL12/include/GL/*.i $(PREFIX)/include/GL/
rsync -a $(BUILD)/libSDL12/include/GL/*.h $(PREFIX)/include/GL/ @rsync -a $(BUILD)/libSDL12/include/GL/*.h $(PREFIX)/include/GL/
rsync -a $(BUILD)/libSDL12/include/SDL/*.h $(PREFIX)/include/SDL/ @rsync -a $(BUILD)/libSDL12/include/SDL/*.h $(PREFIX)/include/SDL/
echo "done" >$@ @echo "done" >$@
$(BUILD)/libSDL12/Makefile.bax: $(BUILD)/libnix/_done projects/libSDL12/Makefile.bax $(shell find 2>/dev/null projects/libSDL12 -not \( -path projects/libSDL12/.git -prune \) -type f) $(BUILD)/libSDL12/Makefile.bax: $(BUILD)/libnix/_done projects/libSDL12/Makefile.bax $(shell find 2>/dev/null projects/libSDL12 -not \( -path projects/libSDL12/.git -prune \) -type f)
mkdir -p $(BUILD)/libSDL12 @mkdir -p $(BUILD)/libSDL12
rsync -a projects/libSDL12/* $(BUILD)/libSDL12 @rsync -a projects/libSDL12/* $(BUILD)/libSDL12
touch $(BUILD)/libSDL12/Makefile.bax @touch $(BUILD)/libSDL12/Makefile.bax
projects/libSDL12/Makefile.bax: projects/libSDL12/Makefile.bax:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b master --depth 4 https://github.com/AmigaPorts/libSDL12 @cd projects && git clone -b master --depth 4 https://github.com/AmigaPorts/libSDL12
# ================================================= # =================================================
@ -783,48 +810,48 @@ COMPLEX_FILES = lib_a-cabs.o lib_a-cacosf.o lib_a-cacosl.o lib_a-casin.o
lib_a-cacos.o lib_a-cacoshl.o lib_a-cargl.o lib_a-casinhf.o lib_a-catanf.o lib_a-catanl.o lib_a-ccoshf.o lib_a-cephes_subrf.o lib_a-cexpl.o lib_a-clog.o lib_a-clogl.o lib_a-cpow.o lib_a-cprojf.o lib_a-creall.o lib_a-csinhf.o lib_a-csqrtf.o lib_a-ctanh.o lib_a-cacos.o lib_a-cacoshl.o lib_a-cargl.o lib_a-casinhf.o lib_a-catanf.o lib_a-catanl.o lib_a-ccoshf.o lib_a-cephes_subrf.o lib_a-cexpl.o lib_a-clog.o lib_a-clogl.o lib_a-cpow.o lib_a-cprojf.o lib_a-creall.o lib_a-csinhf.o lib_a-csqrtf.o lib_a-ctanh.o
$(BUILD)/newlib/_done: $(BUILD)/newlib/newlib/libc.a $(BUILD)/newlib/_done: $(BUILD)/newlib/newlib/libc.a
echo "done" >$@ @echo "done" >$@
$(BUILD)/newlib/newlib/libc.a: $(BUILD)/newlib/newlib/Makefile $(BUILD)/ndk-include/_ndk $(NEWLIB_FILES) $(BUILD)/newlib/newlib/libc.a: $(BUILD)/newlib/newlib/Makefile $(BUILD)/ndk-include/_ndk $(NEWLIB_FILES)
$(MAKE) -C $(BUILD)/newlib/newlib $(LOG) $(L0)"make newlib"$(L1) $(MAKE) -C $(BUILD)/newlib/newlib $(L2)
$(MAKE) -C $(BUILD)/newlib/newlib install $(LOG) $(L0)"install newlib"$(L1) $(MAKE) -C $(BUILD)/newlib/newlib install $(L2)
mkdir -p $(BUILD)/newlib/complex @mkdir -p $(BUILD)/newlib/complex
cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm.a $(COMPLEX_FILES)
mkdir -p $(BUILD)/newlib/complex/libb @mkdir -p $(BUILD)/newlib/complex/libb
cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libb && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libb/libm.a $(COMPLEX_FILES)
mkdir -p $(BUILD)/newlib/complex/libm020 @mkdir -p $(BUILD)/newlib/complex/libm020
cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020 && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libm.a $(COMPLEX_FILES)
mkdir -p $(BUILD)/newlib/complex/libm020/libb @mkdir -p $(BUILD)/newlib/complex/libm020/libb
cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libb/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libb/libm.a $(COMPLEX_FILES)
mkdir -p $(BUILD)/newlib/complex/libm020/libb32 @mkdir -p $(BUILD)/newlib/complex/libm020/libb32
cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libb32/libm.a $(COMPLEX_FILES) @cd $(BUILD)/newlib/complex/libm020/libb32 && $(PREFIX)/bin/m68k-amigaos-ar x $(PREFIX)/m68k-amigaos/lib/libm020/libb32/libm.a $(COMPLEX_FILES)
touch $@ @touch $@
ifeq (,$(wildcard $(BUILD)/gcc/_done)) ifeq (,$(wildcard $(BUILD)/gcc/_done))
$(BUILD)/newlib/newlib/Makefile: $(BUILD)/gcc/_done $(BUILD)/newlib/newlib/Makefile: $(BUILD)/gcc/_done
endif endif
$(BUILD)/newlib/newlib/Makefile: projects/newlib-cygwin/configure $(BUILD)/newlib/newlib/Makefile: projects/newlib-cygwin/configure
mkdir -p $(BUILD)/newlib/newlib @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) $(LOG) $(L0)"configure newlib"$(L1) cd $(BUILD)/newlib/newlib && $(NEWLIB_CONFIG) CFLAGS="$(TARGET_C_FLAGS)" $(PWD)/projects/newlib-cygwin/newlib/configure --host=m68k-amigaos --prefix=$(PREFIX) $(L2)
projects/newlib-cygwin/newlib/configure: projects/newlib-cygwin/newlib/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone -b amiga --depth 4 https://github.com/bebbo/newlib-cygwin @cd projects && git clone -b amiga --depth 4 https://github.com/bebbo/newlib-cygwin
# ================================================= # =================================================
# ixemul # ixemul
# ================================================= # =================================================
projects/ixemul/configure: projects/ixemul/configure:
@mkdir -p projects @mkdir -p projects
cd projects && git clone https://github.com/bebbo/ixemul @cd projects && git clone https://github.com/bebbo/ixemul
# ================================================= # =================================================
# sdk installation # sdk installation
# ================================================= # =================================================
.PHONY: sdk all-sdk .PHONY: sdk all-sdk
sdk: libnix sdk: libnix $(BUILD)/lha/_done
@$(PWD)/sdk/install install $(sdk) $(PREFIX) $(L0)"sdk $(sdk)"$(L1) $(PWD)/sdk/install install $(sdk) $(PREFIX) $(L2)
SDKS0=$(shell find sdk/*.sdk) SDKS0=$(shell find sdk/*.sdk)
SDKS=$(patsubst sdk/%.sdk,%,$(SDKS0)) SDKS=$(patsubst sdk/%.sdk,%,$(SDKS0))
@ -832,7 +859,7 @@ SDKS=$(patsubst sdk/%.sdk,%,$(SDKS0))
all-sdk: $(SDKS) all-sdk: $(SDKS)
$(SDKS): libnix $(SDKS): libnix
$(MAKE) sdk=$@ $(LOG) $(MAKE) sdk=$@
# ================================================= # =================================================
# info # info
# ================================================= # =================================================

View File

@ -30,10 +30,10 @@ case $1 in
echo wget ${a[1]}:${a[2]} -O download/$file echo wget ${a[1]}:${a[2]} -O download/$file
wget ${a[1]}:${a[2]} -O download/$file || (rm download/$file; exit 1) wget ${a[1]}:${a[2]} -O download/$file || (rm download/$file; exit 1)
fi fi
if [ ! -e "build/$2" ]; then if [ ! -e "build/$2" ] || [ "$(ls -l build/$2)" == "total 0" ]; then
mkdir build/$2 mkdir -p build/$2
pushd build/$2 pushd build/$2
lha x "../../download/$file" lha x "../../download/$file" && $3/bin/lha x "../../download/$file"
popd popd
fi fi
fi fi