view uptools/atcmd/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 90d7c360a614
children
line wrap: on
line source

CC=	gcc
CFLAGS=	-O2
PROGS=	fcup-at fcup-settime fcup-smdump fcup-smsend fcup-smsendmult \
	fcup-smsendpdu fcup-smwrite

INSTALL_PREFIX=	/opt/freecalypso

INSTBIN=${INSTALL_PREFIX}/bin

LIBCODING=	../libcoding/libcoding.a

ATCMD_OBJS=	atcmd.o atinterf.o

SETTIME_OBJS=	atinterf.o settime.o

SMDUMP_OBJS=	atinterf.o resp_parse.o smdump.o ${LIBCODING}

SMSEND_OBJS=	atinterf.o resp_parse.o smsend_cmgw.o smsend_concat.o \
		smsend_main.o smsend_pdugen.o smsend_pduout.o smsend_text.o \
		${LIBCODING}

SMSENDM_OBJS=	atinterf.o resp_parse.o smsend_cmgw.o smsend_multmain.o \
		smsend_pdugen.o smsend_pduout.o smsend_text.o ${LIBCODING}

SMSENDP_OBJS=	atinterf.o resp_parse.o smsend_cmgw.o smsend_pduin.o \
		smsend_pduout.o ${LIBCODING}

SMWRITE_OBJS=	atinterf.o smwrite.o ${LIBCODING}

all:	${PROGS}

fcup-at:	${ATCMD_OBJS}
	${CC} ${CFLAGS} -o $@ ${ATCMD_OBJS}

fcup-settime:	${SETTIME_OBJS}
	${CC} ${CFLAGS} -o $@ ${SETTIME_OBJS}

fcup-smdump:	${SMDUMP_OBJS}
	${CC} ${CFLAGS} -o $@ ${SMDUMP_OBJS}

fcup-smsend:	${SMSEND_OBJS}
	${CC} ${CFLAGS} -o $@ ${SMSEND_OBJS}

fcup-smsendmult:	${SMSENDM_OBJS}
	${CC} ${CFLAGS} -o $@ ${SMSENDM_OBJS}

fcup-smsendpdu:	${SMSENDP_OBJS}
	${CC} ${CFLAGS} -o $@ ${SMSENDP_OBJS}

fcup-smwrite:	${SMWRITE_OBJS}
	${CC} ${CFLAGS} -o $@ ${SMWRITE_OBJS}

install:	${PROGS}
	mkdir -p ${INSTBIN}
	install -c ${PROGS} ${INSTBIN}

clean:
	rm -f *.o *.out *errs ${PROGS}