## ## This file is part of the libopencm3 project. ## ## Copyright (C) 2009 Uwe Hermann ## ## This library is free software: you can redistribute it and/or modify ## it under the terms of the GNU Lesser General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This library is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . ## LDSCRIPT = ../arch_max.ld CPROTO=cproto PROG=msf V=1 default: ${PROG}.elf CSRCS=led.c ticker.c ring.c usart.c stdio.c lwip_glue.c steth.c msf.c abs.c pll.c main.c time_fn.c ntp.c dcf77.c util.c stats.c gps.c hexdump.c bits.c HSRCS=project.h ring.h pins.h gps.h ubx.h LWIP=lwip/lwip-1.4.1 LWIP_PATH=.. VPATH=${LWIP_PATH} LWIP_API=#${LWIP}/src/api/err.c ${LWIP}/src/api/netdb.c ${LWIP}/src/api/api_msg.c ${LWIP}/src/api/tcpip.c ${LWIP}/src/api/sockets.c ${LWIP}/src/api/api_lib.c ${LWIP}/src/api/netbuf.c ${LWIP}/src/api/netifapi.c LWIP_CORE=${LWIP}/src/core/memp.c ${LWIP}/src/core/sys.c ${LWIP}/src/core/init.c ${LWIP}/src/core/pbuf.c ${LWIP}/src/core/dhcp.c ${LWIP}/src/core/ipv4/ip_addr.c ${LWIP}/src/core/ipv4/ip.c ${LWIP}/src/core/ipv4/ip_frag.c ${LWIP}/src/core/ipv4/inet.c ${LWIP}/src/core/ipv4/autoip.c ${LWIP}/src/core/ipv4/icmp.c ${LWIP}/src/core/ipv4/inet_chksum.c ${LWIP}/src/core/timers.c ${LWIP}/src/core/def.c ${LWIP}/src/core/netif.c ${LWIP}/src/netif/etharp.c ${LWIP}/src/core/raw.c ${LWIP}/src/core/mem.c ${LWIP}/src/core/udp.c DEFINES=# #${LWIP}/src/core/tcp.c ${LWIP}/src/core/tcp_out.c #${LWIP}/src/core/tcp_in.c # ${LWIP}/src/core/snmp/asn1_enc.c ${LWIP}/src/core/snmp/msg_in.c ${LWIP}/src/core/snmp/mib_structs.c ${LWIP}/src/core/snmp/mib2.c ${LWIP}/src/core/snmp/asn1_dec.c ${LWIP}/src/core/snmp/msg_out.c ${LWIP}/src/core/ipv6/icmp6.c ${LWIP}/src/core/ipv6/ip6.c ${LWIP}/src/core/ipv6/ip6_addr.c ${LWIP}/src/core/ipv6/inet6.c # ${LWIP}/src/core/dns.c ${LWIP}/src/core/stats.c ${LWIP}/src/core/ipv4/igmp.c LWIP_INC=${LWIP_PATH}/${LWIP} LWIP_LOCAL=${LWIP_PATH}/lwip/lwip-local LWIP_CSRCS=${LWIP_API} ${LWIP_CORE} EXTRA_CLEAN=${LWIP} BINARY = ${PROG} MYOBJS = ${CSRCS:%.c=%.o} LWIP_OBJS = ${LWIP_CSRCS:%.c=%.o} objs:${OBJS} ${MYOBJS}: project.h prototypes.h ${LWIP_OBJS}: lwip/lwipopts.h OBJS=${MYOBJS} ${LWIP_OBJS} almanac.o include ../Makefile.include CFLAGS+=-Wno-redundant-decls -Wno-unused-parameter CPPFLAGS += -I../libopencm3-local -I${LWIP_PATH}/${LWIP}/src/include -Ilwip -I${LWIP_PATH}/${LWIP}/src/include/ipv4 -I${LWIP_LOCAL}/port/stm32f4x7 -I. fish: ${OBJS} echo ${OBJS} program: ${PROG}.hex echo init | nc -t localhost 4444 echo reset init | nc -t localhost 4444 echo flash write_image erase ${PWD}/$< | nc -t localhost 4444 echo reset run | nc -t localhost 4444 ds: $(Q)$(OOCD) -f ../oocd/interface/$(OOCD_INTERFACE).cfg \ -f ../oocd/board/$(OOCD_BOARD).cfg debug: ${PROG}.elf ${PREFIX}-gdb -x gdb.script ${PROG}.elf # openocd protos: ${CSRCS} echo -n > prototypes.h ${CPROTO} -E "${CPP} $(CPPFLAGS)" -e -v ${CSRCS} > prototypes.h.tmp mv -f prototypes.h.tmp prototypes.h almanac.c:almanac.alp echo const > $@ xxd -i $< >> $@ almanac.alp: almanac almanac: wget -O almanac.alp http://alp.u-blox.com/current_7d.alp EXTRA_CLEAN=${OBJS} ${LWIP_OBJS:%.o=%.d} almanac.c tidy: astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p -H -U -k3 -xj -xd ${CSRCS} ${HSRCS} slog: sympathy -d /dev/ttyUSB6 -b 38400 -L ../log -w 132x59 -s