1# $NetBSD: Makefile,v 1.4 2014/01/16 01:15:33 christos Exp $ 2 3.include <bsd.own.mk> 4.include <bsd.obj.mk> 5.include <bsd.inc.mk> 6 7PROG=e32boot.ldd 8 9SRCS=e32boot.cpp epoc32.cpp cpu.cpp 10OBJS=$(SRCS:R:S/$/.o/g) 11 12IN=$(PROG:.ldd=.in) 13MAP=$(PROG:.ldd=.map) 14 15NOMAN= #defined 16BINMODE= 444 17 18S=../../../../../ 19 20CPPFLAGS=-c -nostdinc -Wall -Wno-ctor-dtor-privacy -O 21CPPFLAGS+=-mcpu=arm710 22CPPFLAGS+=-mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks 23CPPFLAGS+=-D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ 24CPPFLAGS+=-U_UNICODE 25CPPFLAGS+=-I. -I../include/ -I- -I$(EPOC32_SDKDIR)/include/ 26 27CPPFLAGS+=-D_LOCORE -D__ASSEMBLER__ # XXXXXX 28 29CFLAGS= 30_CXXSEED= # XXXXX 31 32EPOC32_LIBRARY_PATH=$(EPOC32_SDKDIR)/Release/MARM/Rel/ 33LIBS=$(EPOC32_LIBRARY_PATH)/EKERN.LIB $(EPOC32_LIBRARY_PATH)/EUSER.LIB 34 35S5_EKERNID= 100000b9 36S5_UID2= 0x100000ac 37 38S5MX_EKERNID= 100000ba 39S5MX_UID2= 0x100000ae 40 41#S7MX_EKERNID= 100000?? 42#S7MX_UID2= 0x100000?? 43 44 45all: check_epoc32_cross arm $(PROG:.ldd=-s5.ldd) $(PROG:.ldd=-s5mx.ldd) 46 47arm: 48 ln -s ../../../../$@/include $@ 49 50$(PROG:.ldd=-s5.ldd): $(PROG) 51 $(EXTERNAL_TOOLCHAIN)/bin/petran $(PROG) $@.tmp \ 52 -nocall -uid1 0x10000079 -uid2 $(S5_UID2) -uid3 0x00000000 53 sed -e "s/\(EKERN\[\)[0-9a-f]\{8\}\(\]\.EXE\)/\1$(S5_EKERNID)\2/" \ 54 $@.tmp > $@ 55 rm $@.tmp 56 57$(PROG:.ldd=-s5mx.ldd): $(PROG) 58 $(EXTERNAL_TOOLCHAIN)/bin/petran $(PROG) $@.tmp \ 59 -nocall -uid1 0x10000079 -uid2 $(S5MX_UID2) -uid3 0x00000000 60 sed -e "s/\(EKERN\[\)[0-9a-f]\{8\}\(\]\.EXE\)/\1$(S5MX_EKERNID)\2/" \ 61 $@.tmp > $@ 62 rm $@.tmp 63 64$(PROG): $(OBJS) $(IN) 65 $(LD) -s --base-file $(PROG:.ldd=.bas) \ 66 -o $@ --whole-archive $(IN) --no-whole-archive $(LIBS) 67 TMP=. $(EXTERNAL_TOOLCHAIN)/bin/$(MACHINE_GNU_PLATFORM)-dlltool \ 68 -S $(AS) \ 69 --output-exp $(PROG:.ldd=.exp) --base-file $(PROG:.ldd=.bas) \ 70 $(IN) $(LIBS) 71 $(LD) -s -Map $(MAP) -o $@ $(PROG:.ldd=.exp) \ 72 --whole-archive $(IN) --no-whole-archive $(LIBS) 73 rm $(PROG:.ldd=.bas) $(PROG:.ldd=.exp) 74 75$(IN): $(OBJS) 76 $(AR) r $@ $(OBJS) 77 $(RANLIB) $@ 78 79 80clean: 81 rm -f $(PROG) $(OBJS) $(IN) $(MAP) 82 rm -f $(PROG:.ldd=-s5.ldd) $(PROG:.ldd=-s5mx.ldd) 83 rm -f $(PROG:.ldd=.bas) $(PROG:.ldd=.exp) 84 rm -f arm 85 86.include <bsd.files.mk> 87