ifneq (,$(DEVKITARM)) ifneq (,$(wildcard $(DEVKITARM)/bin)) include $(DEVKITARM)/base_tools DKA_EXISTS=1 else DKA_EXISTS=0 endif else DKA_EXISTS=0 endif ifneq ($(DKA_EXISTS),1) PREFIX := arm-none-eabi- export AR := $(PREFIX)ar export AS := $(PREFIX)as endif CC1 = ../old_agbcc libgcc.a: libgcc1.a libgcc2.a fp-bit.o dp-bit.o $(AR) -x libgcc1.a; $(AR) -x libgcc2.a; $(AR) -rc libgcc.a *.o LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \ _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 \ _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \ _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi libgcc1.a: lib1thumb.asm -rm -f tmplibgcc1.a # Actually build it in tmplibgcc1.a, then rename at end, # so that libgcc1.a itself remains nonexistent if compilation is aborted. set -e for name in $(LIB1ASMFUNCS); \ do \ echo $${name}; \ $(CPP) -undef -nostdinc -DL$${name} -x assembler-with-cpp -o $${name}.s lib1thumb.asm; \ bash -c 'echo -e ".text\n\t.align\t2, 0\n"' >> $${name}.s ; \ $(AS) -mcpu=arm7tdmi -o $${name}.o $${name}.s; \ rm -f $${name}.s; \ $(AR) -rc tmplibgcc1.a $${name}.o; \ rm -f $${name}.o; \ done mv tmplibgcc1.a libgcc1.a libgcc2.a: libgcc2.c longlong.h -rm -f tmplibgcc2.a # Actually build it in tmplibgcc2.a, then rename at end, # so that libgcc2.a itself remains nonexistent if compilation is aborted. set -e for name in $(LIB2FUNCS); \ do \ echo $${name}; \ $(CPP) -undef -I ../ginclude -nostdinc -DL$${name} -o $${name}.i libgcc2.c; \ $(CC1) -O2 $${name}.i; \ rm -f $${name}.i; \ bash -c 'echo -e ".text\n\t.align\t2, 0\n"' >> $${name}.s ; \ $(AS) -mcpu=arm7tdmi -o $${name}.o $${name}.s; \ rm -f $${name}.s; \ $(AR) -rc tmplibgcc2.a $${name}.o; \ rm -f $${name}.o; \ done mv tmplibgcc2.a libgcc2.a fp-bit.o: fp-bit.c $(CPP) -undef -I ../ginclude -nostdinc -o fp-bit.i fp-bit.c; $(CC1) -O2 fp-bit.i rm -f fp-bit.i bash -c 'echo -e ".text\n\t.align\t2, 0\n"' >> fp-bit.s $(AS) -mcpu=arm7tdmi -o fp-bit.o fp-bit.s; rm -f fp-bit.s dp-bit.o: dp-bit.c $(CPP) -undef -I ../ginclude -nostdinc -o dp-bit.i dp-bit.c; $(CC1) -O2 dp-bit.i rm -f dp-bit.i bash -c 'echo -e ".text\n\t.align\t2, 0\n"' >> dp-bit.s $(AS) -mcpu=arm7tdmi -o dp-bit.o dp-bit.s; rm -f dp-bit.s fp-bit.c: fp-bit-base.c echo '#define FLOAT' > fp-bit.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c cat fp-bit-base.c >> fp-bit.c dp-bit.c: fp-bit-base.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c cat fp-bit-base.c >> dp-bit.c .PHONY: clean clean: rm -f *.o *.a *.s *.i