xref: /netbsd-src/sys/arch/epoc32/stand/e32boot/exe/Makefile (revision f89f6560d453f5e37386cc7938c072d2f528b9fa)
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