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
10PROG=e32boot.exe
11
12SRCS=e32boot.cpp netbsd.cpp
13SRCS+=vers.c
14OBJS=$(SRCS:R:S/$/.o/g)
15
16IN=$(PROG:.exe=.in)
17MAP=$(PROG:.exe=.map)
18
19NOMAN=		#defined
20BINMODE= 444
21
22S=../../../../../
23
24CPPFLAGS=-c -nostdinc -Wall -Wno-ctor-dtor-privacy -O
25CPPFLAGS+=-mcpu=arm710
26CPPFLAGS+=-mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks
27CPPFLAGS+=-D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__
28CPPFLAGS+=-U_UNICODE
29CPPFLAGS+=-I. -I../include/ -I-
30CPPFLAGS+=-I$(EPOC32_SDKDIR)/include/
31
32CFLAGS=-ffreestanding
33_CXXSEED=	# XXXXX
34
35HEAPMIN=0x80000
36HEAPMAX=0x8000000
37
38EPOC32_LIBRARY_PATH=$(EPOC32_SDKDIR)/Release/MARM/Rel/
39LIBS=$(EPOC32_LIBRARY_PATH)/EFSRV.LIB
40LIBS+=$(EPOC32_LIBRARY_PATH)/EUSER.LIB
41LIBS+=$(EPOC32_LIBRARY_PATH)/WS32.LIB
42
43
44all: 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
65vers.c: ${.CURDIR}/version
66	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
67	    ${.CURDIR}/version ${MACHINE}
68
69
70clean:
71	rm -f $(PROG) $(OBJS) vers.c $(IN) $(MAP)
72	rm -f $(PROG:.exe=.bas) $(PROG:.exe=.exp)
73
74