diff --git a/regression-tests/20-compile-tools/Makefile b/regression-tests/20-compile-tools/Makefile new file mode 100644 index 000000000..7ec956683 --- /dev/null +++ b/regression-tests/20-compile-tools/Makefile @@ -0,0 +1,72 @@ +# Copyright (c) 2014, Friedrich-Alexander University Erlangen-Nuremberg +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +TOOLS=sky tools stm32w z80=hex2bin sensinode=nano_programmer +FAILTOOLS=stm32w=uip6_bridge sky=uip6-bridge sensinode=nano_usb_programmer + + +TOOLSDIR=../../tools +LOGS=$(patsubst %,%.log, $(TOOLS)) + +all: summary + +FRC: + + +sky.log: RMFILES=serialdump-linux +stm32w.log: RMFILES=serialdump-linux + + +tools.log: + @$(MAKE) -C $(TOOLSDIR) > $@ 2>&1 && $(RM) $@.failed || touch $@.failed + + +%.log: FRC + @( cd $(TOOLSDIR)/$(subst =,/,$*) && $(RM) $(RMFILES) ) + @touch $@ + @$(MAKE) -C $(TOOLSDIR)/$(subst =,/,$*) > $@ 2>&1 && $(RM) $@.failed || touch $@.failed + + +summary: $(LOGS) + @(\ + for T in $(TOOLS) ; do \ + if [ -f $$T.log.failed ] ; then \ + echo tools/$$T: FAIL ಠ_ಠ >> $@;\ + cat $$T.log >> $@;\ + else \ + echo tools/$$T: OK >> $@;\ + fi\ + done \ + ) + @echo "Info: The following tools need fixing and are not tested:" $(subst =,/,$(FAILTOOLS)) >> $@ + @echo $@ + +clean: + @make -C $(DOCDIR) clean + + +.PHONY: %.log diff --git a/tools/Makefile b/tools/Makefile index a1529c352..87f14d317 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,4 +1,4 @@ -all: codeprop tunslip +all: tunslip gitclean: @git clean -d -x -n .. @@ -20,4 +20,4 @@ cleantargets: @rm -f -v ${addprefix ../examples/*/*., ${shell ls ../platform/}} @rm -f -v ${addprefix ../examples/*/*/*., ${shell ls ../platform/}} cleandone: - @echo ${info All done!} \ No newline at end of file + @echo ${info All done!} diff --git a/tools/stm32w/Makefile b/tools/stm32w/Makefile new file mode 100644 index 000000000..be3caa44b --- /dev/null +++ b/tools/stm32w/Makefile @@ -0,0 +1,25 @@ +ifndef HOST_OS + ifeq ($(OS),Windows_NT) + HOST_OS := Windows + else + HOST_OS := $(shell uname) + endif +endif + +ifeq ($(HOST_OS),Windows) + SERIALDUMP = serialdump-windows +endif + +ifeq ($(HOST_OS),Darwin) + SERIALDUMP = serialdump-macos +endif + +ifndef SERIALDUMP + # Assume Linux + SERIALDUMP = serialdump-linux +endif + +all: $(SERIALDUMP) + +$(SERIALDUMP): serialdump.c + $(CC) -O2 -o $@ $<