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