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