view target-utils/helloapp/Makefile @ 965:2969032bdfac

fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing The only 100% safe way to pass a NULL pointer as a function argument in K&R C is to cast 0 to a pointer type; failing to do so may cause mysterious bugs (invalid stack frames or garbage in argument registers) on 64-bit machines. This issue has already been fixed in most of FC host tools, but I just found some missed spots: passing of NULL UDH to PDU encoding functions in fcup-smsend[mult] in the case of single (not concatenated) SMS.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 01 Sep 2023 07:33:51 +0000
parents bfddfecc52b2
children
line wrap: on
line source

CC=	arm-elf-gcc
CFLAGS=	-Os -fno-builtin
CPPFLAGS=-I../include
LD=	arm-elf-ld
OBJCOPY=arm-elf-objcopy

BOOTROM_OBJS=	crt0.o cmdtab.o main-bootrom.o
IRDA_OBJS=	crt0.o cmdtab.o main-fixeduart.o uartbase-irda.o
MODEM_OBJS=	crt0.o cmdtab.o main-fixeduart.o uartbase-modem.o

LIBS=	../libcommon/libcommon.a ../libprintf/libprintf.a ../libbase/libbase.a \
	../libc/libc.a
LIBGCC=	`${CC} -print-file-name=libgcc.a`
LDS=	../env/iram.lds

all:	helloapp-bootrom.srec helloapp-irda.srec helloapp-modem.srec

.SUFFIXES: .elf .srec

.elf.srec:
	${OBJCOPY} -O srec --srec-forceS3 --srec-len=30 $< $@

crt0.S:
	ln -s ../env/crt0.S .

helloapp-bootrom.elf:	${BOOTROM_OBJS} ${LIBS} ${LDS}
	${LD} -N --defsym Base_addr=0x800750 --defsym stack_bottom=0x83FFFC \
		-T ${LDS} -o $@ ${BOOTROM_OBJS} ${LIBS} ${LIBGCC}

helloapp-irda.elf:	${IRDA_OBJS} ${LIBS} ${LDS}
	${LD} -N --defsym Base_addr=0x820000 --defsym stack_bottom=0x83FFFC \
		-T ${LDS} -o $@ ${IRDA_OBJS} ${LIBS} ${LIBGCC}

helloapp-modem.elf:	${MODEM_OBJS} ${LIBS} ${LDS}
	${LD} -N --defsym Base_addr=0x820000 --defsym stack_bottom=0x83FFFC \
		-T ${LDS} -o $@ ${MODEM_OBJS} ${LIBS} ${LIBGCC}

clean:
	rm -f *.o *errs *core *.elf *.bin *.srec crt0.S

FRC: