]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
Use handwritten Makefile to compile the library
authorMichal Sojka <sojkam1@fel.cvut.cz>
Mon, 28 Jul 2014 15:13:08 +0000 (17:13 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Mon, 28 Jul 2014 15:13:08 +0000 (17:13 +0200)
Fixes #921.

.cproject
Debug/GNUmakefile [new file with mode: 0644]
Makefile

index 4ab72e26083e0ff842ed70cb7c0509200896c768..eabf2d7b5fe3cf93ed2e98d393931f4615ceea8e 100644 (file)
--- a/.cproject
+++ b/.cproject
@@ -26,7 +26,7 @@
                                                        </option>
                                                        <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1398744142" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="5.0.1" valueType="string"/>
                                                        <targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.targetPlatformDebug.1951814833" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.targetPlatformDebug"/>
-                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.builderDebug.1092156234" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.builderDebug"/>
+                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.builderDebug.1092156234" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.builderDebug"/>
                                                        <tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.compilerDebug.131513922" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.library.compilerDebug">
                                                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.CODE_STATE.1390915903" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.CODE_STATE.32" valueType="enumerated"/>
                                                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.SILICON_VERSION.1057971706" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.SILICON_VERSION.7R4" valueType="enumerated"/>
@@ -48,7 +48,7 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/src/include/ipv6}&quot;"/>
                                                                </option>
                                                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GCC.366991455" name="Enable support for GCC extensions (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GCC" value="true" valueType="boolean"/>
-                                                               <option id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS.1451934131" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
+                                                               <option id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS.1451934131" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
                                                                <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__C_SRCS.1458887862" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__C_SRCS"/>
                                                                <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__CPP_SRCS.837993860" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__CPP_SRCS"/>
                                                                <inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__ASM_SRCS.568641394" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.0.compiler.inputType__ASM_SRCS"/>
diff --git a/Debug/GNUmakefile b/Debug/GNUmakefile
new file mode 100644 (file)
index 0000000..d1485d6
--- /dev/null
@@ -0,0 +1,188 @@
+rpp_lib_SOURCES =                                                              \
+       os/7.0.2_tms570/src/os/croutine.c               \
+       os/7.0.2_tms570/src/os/heap.c                   \
+       os/7.0.2_tms570/src/os/list.c                   \
+       os/7.0.2_tms570/src/os/port.c                   \
+       os/7.0.2_tms570/src/os/portASM.asm              \
+       os/7.0.2_tms570/src/os/queue.c                  \
+       os/7.0.2_tms570/src/os/tasks.c                  \
+       os/7.0.2_tms570/src/os/timers.c                 \
+       rpp/src/drv/adc.c                                               \
+       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/drv/sci.c                                               \
+       rpp/src/hal/gpio_tms570.c                               \
+       rpp/src/hal/gpio_tms570_def.c                   \
+       rpp/src/hal/port_def.c                                  \
+       rpp/src/hal/port_gpio.c                                 \
+       rpp/src/hal/port_spi.c                                  \
+       rpp/src/hal/spi.c                                               \
+       rpp/src/hal/spi_resp_transl.c                   \
+       rpp/src/hal/spi_tms570.c                                        \
+       rpp/src/rpp/adc.c                                               \
+       rpp/src/rpp/can.c                                               \
+       rpp/src/rpp/dac.c                                               \
+       rpp/src/rpp/din.c                                               \
+       rpp/src/rpp/eth.c                                               \
+       rpp/src/rpp/fr.c                                                        \
+       rpp/src/rpp/hbr.c                                               \
+       rpp/src/rpp/hout.c                                              \
+       rpp/src/rpp/lin.c                                               \
+       rpp/src/rpp/lout.c                                              \
+       rpp/src/rpp/mout.c                                              \
+       rpp/src/rpp/rpp.c                                               \
+       rpp/src/rpp/sci.c                                               \
+       rpp/src/rpp/sdc.c                                               \
+       rpp/src/rpp/sdr.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                              \
+       rpp/src/sys/phy_dp83848h.c                              \
+       rpp/src/sys/sys_phantom.c                               \
+       rpp/src/sys/sys_pinmux.c                                        \
+       rpp/src/sys/sys_selftest.c                              \
+       rpp/src/sys/sys_startup.c                               \
+       rpp/src/sys/system.c                                            \
+       rpp/src/sys/ti_drv_adc.c                                        \
+       rpp/src/sys/ti_drv_can.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_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
+
+
+rpp_lib_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
+
+rpp_lib_INCLUDES =                                                                             \
+       /opt/ti/ccsv5/tools/compiler/arm_5.0.1/include  \
+       ../os/7.0.2_tms570/include                                              \
+       ../rpp/include                                                                  \
+       ../lwip/src/include                                                             \
+       ../lwip/src/include/ipv4                                                        \
+       ../lwip/src/include/ipv6
+
+# Code composer studio sets this variable when it invokes make. Let's use it
+# as a hint for where is the compiler installed.
+CCS_UTILS_DIR ?= /opt/ti/ccsv5/utils
+
+ARM_COMPILER_DIR ?= $(dir $(CCS_UTILS_DIR))/tools/compiler/arm_5.0.1/bin
+
+
+CC=$(ARM_COMPILER_DIR)/armcl
+AR=$(ARM_COMPILER_DIR)/armar
+
+rpp_lib_CFLAGS = -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --gcc   \
+               $(rpp_lib_INCLUDES:%=-I%) --diag_warning=225 --display_error_number     \
+               --diag_wrap=off --gen_func_subsections=on --enum_type=packed    \
+               --preproc_with_compile --preproc_dependency=$(@:%.obj=%.dep)    \
+               --obj_directory=$(dir $@)
+
+rpp_lib_c_OBJS   = $(addsuffix .obj,$(basename $(filter %.c,   $(rpp_lib_SOURCES))))
+rpp_lib_asm_OBJS = $(addsuffix .obj,$(basename $(filter %.asm, $(rpp_lib_SOURCES))))
+rpp_lib_OBJS = $(rpp_lib_c_OBJS) $(rpp_lib_asm_OBJS)
+rpp_lib_DEPS = $(rpp_lib_OBJS:%.obj=%.dep)
+
+all:: ../rpp-lib.lib
+
+rpp-lib.lib: $(rpp_lib_OBJS) #../rpp/TMS570LS313xFlashLnk.cmd
+       $(AR) r $@ $^
+
+../rpp-lib.lib: rpp-lib.lib
+       cp $< $@
+
+-include $(rpp_lib_OBJS:%.obj=%.dep)
+
+$(rpp_lib_c_OBJS): %.obj: ../%.c
+       @mkdir -p $(dir $@)
+       $(CC) $(rpp_lib_CFLAGS) $<
+
+$(rpp_lib_asm_OBJS): %.obj: ../%.asm
+       @mkdir -p $(dir $@)
+       $(CC) $(rpp_lib_CFLAGS) $<
+
+.PHONY: all clean
+
+clean::
+       rm -rf $(rpp_lib_OBJS) $(rpp_lib_DEPS) rpp-lib.lib
index 425502a7ab6ca53ddb2bfa2d4044e5776ff0113b..c9a63166397b3611945f2b11b0d429ae20dd4e54 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -16,9 +16,9 @@ lib: rpp-lib.lib
 clean:
        rm -rf $(wildcard $(dir $(WORKSPACE))rpp-lib-workspace.*) rpp-lib.lib
 
-rpp-lib.lib: $(shell find os rpp -name *.[ch])
-       $(MAKE) rpp-lib WORKSPACE=$(WORKSPACE)
-       rm -rf $(WORKSPACE)
+.PHONY: rpp-lib.lib
+rpp-lib.lib:
+       $(MAKE) -C Debug
 
 $(WORKSPACE):
        mkdir -p $(WORKSPACE)