Home | History | Annotate | Line # | Download | only in ldd
      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 
      7 PROG=e32boot.ldd
      8 
      9 SRCS=e32boot.cpp epoc32.cpp cpu.cpp
     10 OBJS=$(SRCS:R:S/$/.o/g)
     11 
     12 IN=$(PROG:.ldd=.in)
     13 MAP=$(PROG:.ldd=.map)
     14 
     15 NOMAN=		#defined
     16 BINMODE= 444
     17 
     18 S=../../../../../
     19 
     20 CPPFLAGS=-c -nostdinc -Wall -Wno-ctor-dtor-privacy -O
     21 CPPFLAGS+=-mcpu=arm710
     22 CPPFLAGS+=-mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks
     23 CPPFLAGS+=-D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__
     24 CPPFLAGS+=-U_UNICODE
     25 CPPFLAGS+=-I. -I../include/ -I- -I$(EPOC32_SDKDIR)/include/
     26 
     27 CPPFLAGS+=-D_LOCORE -D__ASSEMBLER__	# XXXXXX
     28 
     29 CFLAGS=
     30 _CXXSEED=	# XXXXX
     31 
     32 EPOC32_LIBRARY_PATH=$(EPOC32_SDKDIR)/Release/MARM/Rel/
     33 LIBS=$(EPOC32_LIBRARY_PATH)/EKERN.LIB $(EPOC32_LIBRARY_PATH)/EUSER.LIB
     34 
     35 S5_EKERNID=	100000b9
     36 S5_UID2=	0x100000ac
     37 
     38 S5MX_EKERNID=	100000ba
     39 S5MX_UID2=	0x100000ae
     40 
     41 #S7MX_EKERNID=	100000??
     42 #S7MX_UID2=	0x100000??
     43 
     44 
     45 all: check_epoc32_cross arm $(PROG:.ldd=-s5.ldd) $(PROG:.ldd=-s5mx.ldd)
     46 
     47 arm:
     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 
     80 clean:
     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