summaryrefslogtreecommitdiffstats
path: root/app/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'app/Makefile')
-rw-r--r--app/Makefile96
1 files changed, 96 insertions, 0 deletions
diff --git a/app/Makefile b/app/Makefile
new file mode 100644
index 0000000..0d8d19d
--- /dev/null
+++ b/app/Makefile
@@ -0,0 +1,96 @@
+##
+## This file is part of the libopencm3 project.
+##
+## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## 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 <http://www.gnu.org/licenses/>.
+##
+
+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
+HSRCS=project.h ring.h pins.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}
+
+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
+
+EXTRA_CLEAN=${OBJS} ${LWIP_OBJS:%.o=%.d}
+
+tidy:
+ astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p -H -U -k3 -xj -xd ${CSRCS} ${HSRCS}