Home | History | Annotate | Line # | Download | only in exe
Makefile revision 1.3.4.3
      1 #	$NetBSD: Makefile,v 1.3.4.3 2014/08/20 00:02:52 tls Exp $
      2 
      3 .include <bsd.own.mk>
      4 .include <bsd.obj.mk>
      5 .include <bsd.inc.mk>
      6 
      7 PROG=e32boot.exe
      8 
      9 SRCS=e32boot.cpp netbsd.cpp
     10 SRCS+=vers.c
     11 OBJS=$(SRCS:R:S/$/.o/g)
     12 
     13 IN=$(PROG:.exe=.in)
     14 MAP=$(PROG:.exe=.map)
     15 
     16 NOMAN=		#defined
     17 BINMODE= 444
     18 
     19 S=../../../../../
     20 
     21 CPPFLAGS=-c -nostdinc -Wall -Wno-ctor-dtor-privacy -O
     22 CPPFLAGS+=-mcpu=arm710
     23 CPPFLAGS+=-mapcs-32 -mshort-load-bytes -msoft-float -fcheck-new -fvtable-thunks
     24 CPPFLAGS+=-D__SYMBIAN32__ -D__PSISOFT32__ -D__GCC32__ -D__EPOC32__ -D__MARM__
     25 CPPFLAGS+=-U_UNICODE
     26 CPPFLAGS+=-I. -I../include/ -I-
     27 CPPFLAGS+=-I$(EPOC32_SDKDIR)/include/
     28 
     29 CFLAGS=-ffreestanding
     30 _CXXSEED=	# XXXXX
     31 
     32 HEAPMIN=0x80000
     33 HEAPMAX=0x8000000
     34 
     35 EPOC32_LIBRARY_PATH=$(EPOC32_SDKDIR)/Release/MARM/Rel/
     36 LIBS=$(EPOC32_LIBRARY_PATH)/EFSRV.LIB
     37 LIBS+=$(EPOC32_LIBRARY_PATH)/EUSER.LIB
     38 LIBS+=$(EPOC32_LIBRARY_PATH)/WS32.LIB
     39 
     40 
     41 all: 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
     63 vers.c: ${.CURDIR}/version
     64 	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
     65 	    ${.CURDIR}/version ${MACHINE}
     66 
     67 
     68 clean:
     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