-# Copyright (C) 2013-2014 Czech Technical University in Prague
+# Copyright (C) 2013-2015, 2019 Czech Technical University in Prague
#
# Authors:
# - Michal Sojka <sojkam1@fel.cvut.cz>
#
-# This document contains proprietary information belonging to Czech
-# Technical University in Prague. Passing on and copying of this
-# document, and communication of its contents is not permitted
-# without prior written authorization.
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation
+# files (the "Software"), to deal in the Software without
+# restriction, including without limitation the rights to use,
+# copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following
+# conditions:
+
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
#
# File : Makefile.var
# Abstract:
-# Definitions of variables used by Makefile
+# Definitions of variables used by Makefile
-rpp_lib_OS ?= 7.0.2_rm48
+rpp_lib_OS ?= 8.2.2
rpp_lib_SOURCES = \
+ rpp/src/rpp/rpp.c \
os/$(rpp_lib_OS)/src/os/croutine.c \
os/$(rpp_lib_OS)/src/os/heap.c \
os/$(rpp_lib_OS)/src/os/list.c \
os/$(rpp_lib_OS)/src/os/port.c \
os/$(rpp_lib_OS)/src/os/queue.c \
os/$(rpp_lib_OS)/src/os/tasks.c \
- $(rpp_lib_SOURCES_$(rpp_lib_OS))
-rpp_lib_SOURCES_7.0.2_rm48 += \
+ifneq ($(TARGET),posix)
+rpp_lib_SOURCES += \
os/$(rpp_lib_OS)/src/os/portASM.asm \
os/$(rpp_lib_OS)/src/os/timers.c
-rpp_lib_SOURCES_6.0.4_posix += \
- os/$(rpp_lib_OS)/src/rpp/sci_posix.c
+# Usage: $(call target_or_common,dir/file)
+# Return dir/_$(TARGET)/file when it exists, dir/file otherwise.
+target_or_common = $(if $(wildcard ../../../$(dir $(1))/_$(TARGET)/$(notdir $(1))),$(dir $(1))/_$(TARGET)/$(notdir $(1)),$(1))
rpp_lib_SOURCES += \
+ $(lwip_SOURCES) \
rpp/src/rpp/adc.c \
rpp/src/rpp/can.c \
- rpp/src/rpp/rpp.c \
rpp/src/rpp/gio.c \
- rpp/src/rpp/sci.c
-
-
-rpp_lib_SOURCES_7.0.2_rm48 += \
+ rpp/src/rpp/sci.c \
rpp/src/drv/adc.c \
+ rpp/src/rpp/eth.c \
+ rpp/src/drv/_$(TARGET)/port_def.c \
+ rpp/src/drv/gio.c \
+ rpp/src/drv/gio_tab.c \
rpp/src/drv/sci.c \
- rpp/src/hal/gpio_rm48.c \
- rpp/src/hal/gpio_rm48_def.c \
- rpp/src/hal/pom_vect_remap.c \
- rpp/src/hal/port_def.c \
- rpp/src/hal/port_gpio.c \
rpp/src/sys/asm/dabort.asm \
rpp/src/sys/asm/sys_core.asm \
rpp/src/sys/asm/sys_intvecs.asm \
rpp/src/sys/asm/sys_mpu.asm \
rpp/src/sys/asm/sys_pmu.asm \
- rpp/src/sys/notification.c \
+ $(call target_or_common,rpp/src/sys/notification.c) \
rpp/src/sys/phy_dp83848h.c \
rpp/src/sys/sys_phantom.c \
- rpp/src/sys/sys_pinmux.c \
+ $(call target_or_common,rpp/src/sys/sys_pinmux.c) \
rpp/src/sys/sys_selftest.c \
- rpp/src/sys/sys_startup.c \
+ rpp/src/sys/_$(TARGET)/sys_startup.c \
rpp/src/sys/system.c \
- rpp/src/sys/ti_drv_adc.c \
+ rpp/src/sys/_$(TARGET)/ti_drv_adc.c \
rpp/src/sys/ti_drv_dma.c \
- rpp/src/sys/ti_drv_dmm.c \
rpp/src/sys/ti_drv_emac.c \
rpp/src/sys/ti_drv_emif.c \
rpp/src/sys/ti_drv_esm.c \
rpp/src/sys/ti_drv_gio.c \
rpp/src/sys/ti_drv_het.c \
- rpp/src/sys/ti_drv_het2.c \
+ rpp/src/sys/ti_drv_het2.c \
rpp/src/sys/ti_drv_i2c.c \
- rpp/src/sys/ti_drv_lin.c \
rpp/src/sys/ti_drv_mdio.c \
rpp/src/sys/ti_drv_mibspi.c \
rpp/src/sys/ti_drv_sci.c
+endif
+
+lwip_SOURCES = \
+ lwip/src/api/api_lib.c \
+ lwip/src/api/api_msg.c \
+ lwip/src/api/err.c \
+ lwip/src/api/netbuf.c \
+ lwip/src/api/netdb.c \
+ lwip/src/api/netifapi.c \
+ lwip/src/api/sockets.c \
+ lwip/src/api/tcpip.c \
+ lwip/src/arch/perf.c \
+ lwip/src/arch/sys_arch.c \
+ lwip/src/core/def.c \
+ lwip/src/core/dhcp.c \
+ lwip/src/core/dns.c \
+ lwip/src/core/inet_chksum.c \
+ lwip/src/core/init.c \
+ lwip/src/core/ipv4/autoip.c \
+ lwip/src/core/ipv4/icmp.c \
+ lwip/src/core/ipv4/igmp.c \
+ lwip/src/core/ipv4/ip4.c \
+ lwip/src/core/ipv4/ip4_addr.c \
+ lwip/src/core/ipv4/ip_frag.c \
+ lwip/src/core/ipv6/dhcp6.c \
+ lwip/src/core/ipv6/ethip6.c \
+ lwip/src/core/ipv6/icmp6.c \
+ lwip/src/core/ipv6/inet6.c \
+ lwip/src/core/ipv6/ip6.c \
+ lwip/src/core/ipv6/ip6_addr.c \
+ lwip/src/core/ipv6/ip6_frag.c \
+ lwip/src/core/ipv6/mld6.c \
+ lwip/src/core/ipv6/nd6.c \
+ lwip/src/core/mem.c \
+ lwip/src/core/memp.c \
+ lwip/src/core/netif.c \
+ lwip/src/core/pbuf.c \
+ lwip/src/core/raw.c \
+ lwip/src/core/snmp/asn1_dec.c \
+ lwip/src/core/snmp/asn1_enc.c \
+ lwip/src/core/snmp/mib2.c \
+ lwip/src/core/snmp/mib_structs.c \
+ lwip/src/core/snmp/msg_in.c \
+ lwip/src/core/snmp/msg_out.c \
+ lwip/src/core/stats.c \
+ lwip/src/core/sys.c \
+ lwip/src/core/tcp.c \
+ lwip/src/core/tcp_in.c \
+ lwip/src/core/tcp_out.c \
+ lwip/src/core/timers.c \
+ lwip/src/core/udp.c \
+ lwip/src/netif/etharp.c \
+ lwip/src/netif/ethernetif.c \
+ lwip/src/netif/ppp/auth.c \
+ lwip/src/netif/ppp/chap.c \
+ lwip/src/netif/ppp/chpms.c \
+ lwip/src/netif/ppp/fsm.c \
+ lwip/src/netif/ppp/ipcp.c \
+ lwip/src/netif/ppp/lcp.c \
+ lwip/src/netif/ppp/magic.c \
+ lwip/src/netif/ppp/md5.c \
+ lwip/src/netif/ppp/pap.c \
+ lwip/src/netif/ppp/ppp.c \
+ lwip/src/netif/ppp/ppp_oe.c \
+ lwip/src/netif/ppp/randm.c \
+ lwip/src/netif/ppp/vj.c \
+ lwip/src/netif/slipif.c
+
+# Definition of target specific sources
+
+rpp_lib_SOURCES_y =
+rpp_lib_SOURCES_$(TARGET_HAS_DMM) += rpp/src/sys/ti_drv_dmm.c
+
+rpp_lib_SOURCES_$(TARGET_HAS_SPI) += \
+ rpp/src/drv/spi.c \
+ rpp/src/drv/spi_tms570.c \
+ rpp/src/drv/_$(TARGET)/spi_def.c \
+ rpp/src/rpp/spi.c \
+
+rpp_lib_SOURCES_posix = \
+ os/$(rpp_lib_OS)/src/rpp/sci_posix.c
+
+
+rpp_lib_SOURCES_tms570_rpp = \
+ rpp/src/drv/dac.c \
+ rpp/src/drv/din.c \
+ rpp/src/drv/emac.c \
+ rpp/src/drv/fr_tms570.c \
+ rpp/src/drv/fray.c \
+ rpp/src/drv/hbridge.c \
+ rpp/src/drv/hout.c \
+ rpp/src/drv/lout.c \
+ rpp/src/drv/mout.c \
+ rpp/src/rpp/dac.c \
+ rpp/src/rpp/din.c \
+ rpp/src/rpp/fr.c \
+ rpp/src/rpp/hbr.c \
+ rpp/src/rpp/hout.c \
+ rpp/src/rpp/irc.c \
+ rpp/src/rpp/lin.c \
+ rpp/src/rpp/lout.c \
+ rpp/src/rpp/mout.c \
+ rpp/src/rpp/sdc.c \
+ rpp/src/rpp/sdr.c \
+ rpp/src/sys/pom_vect_remap.c \
+ rpp/src/sys/ti_drv_lin.c
+
+# Add target specific and conditional sources to the list of sources
+
+rpp_lib_SOURCES += $(rpp_lib_SOURCES_$(TARGET))
+rpp_lib_SOURCES += $(rpp_lib_SOURCES_y)
rpp_lib_INCLUDES = \
+ lwip/src/include \
+ lwip/src/include/ipv4 \
+ lwip/src/include/ipv6 \
os/$(rpp_lib_OS)/include \
- rpp/include
-
+ rpp/include