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.exe 11 12 SRCS=e32boot.cpp netbsd.cpp 13 SRCS+=vers.c 14 OBJS=$(SRCS:R:S/$/.o/g) 15 16 IN=$(PROG:.exe=.in) 17 MAP=$(PROG:.exe=.map) 18 19 NOMAN= #defined 20 BINMODE= 444 21 22 S=../../../../../ 23 24 CPPFLAGS=-c -nostdinc -Wall -Wno-ctor-dtor-privacy -O 25 CPPFLAGS+=-mcpu=arm710 26 CPPFLAGS+=-mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks 27 CPPFLAGS+=-D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ 28 CPPFLAGS+=-U_UNICODE 29 CPPFLAGS+=-I. -I../include/ -I- 30 CPPFLAGS+=-I$(EPOC32_SDKDIR)/include/ 31 32 CFLAGS=-ffreestanding 33 _CXXSEED= # XXXXX 34 35 HEAPMIN=0x80000 36 HEAPMAX=0x8000000 37 38 EPOC32_LIBRARY_PATH=$(EPOC32_SDKDIR)/Release/MARM/Rel/ 39 LIBS=$(EPOC32_LIBRARY_PATH)/EFSRV.LIB 40 LIBS+=$(EPOC32_LIBRARY_PATH)/EUSER.LIB 41 LIBS+=$(EPOC32_LIBRARY_PATH)/WS32.LIB 42 43 44 all: check_epoc32_cross $(PROG) 45 46 $(PROG): $(OBJS) $(IN) 47 $(LD) -s --base-file $(PROG:.exe=.bas) \ 48 -o $@ --whole-archive $(IN) --no-whole-archive $(LIBS) 49 TMP=. $(EXTERNAL_TOOLCHAIN)/bin/$(MACHINE_GNU_PLATFORM)-dlltool \ 50 -S $(AS) \ 51 --output-exp $(PROG:.exe=.exp) --base-file $(PROG:.exe=.bas) \ 52 $(IN) $(LIBS) 53 $(LD) -s -Map $(MAP) -o $@ $(PROG:.exe=.exp) \ 54 --whole-archive $(IN) --no-whole-archive $(LIBS) 55 mv $@ $@.tmp 56 $(PETRAN) $@.tmp $@ -heap $(HEAPMIN) $(HEAPMAX) \ 57 -nocall -uid1 0x1000007a -uid2 0x00000000 -uid3 0x00000000 58 rm $@.tmp $(PROG:.exe=.bas) $(PROG:.exe=.exp) 59 60 $(IN): $(OBJS) 61 $(AR) r $@ $(OBJS) 62 $(RANLIB) $@ 63 64 .PHONY: vers.c 65 vers.c: ${.CURDIR}/version 66 ${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \ 67 ${.CURDIR}/version ${MACHINE} 68 69 70 clean: 71 rm -f $(PROG) $(OBJS) vers.c $(IN) $(MAP) 72 rm -f $(PROG:.exe=.bas) $(PROG:.exe=.exp) 73 74