Home | History | Annotate | Line # | Download | only in ldd
Makefile revision 1.2
      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