From a285810cb53bf454aa6133cbb589bcd3559c0e5d Mon Sep 17 00:00:00 2001 From: Pieter du Preez Date: Tue, 2 Oct 2018 23:00:14 +0200 Subject: Added a test case for moving CORE_LIB in PR #583. This patch is meant to test the link order, if the OTHER_OBJS variable gets used to add 3rd party archives, that depend on the Arduino core lib (the archive pointed to by the CORE_LIB variable). The examples/Blink3rdPartyLib directory contains a stripped down Blink and includes a library in the examples/Blink3rdPartyLib/Toggle sub-directory. The archive, built inside the Toggle directory mimics a 3rd party library. The archive gets built and linked in by using the OTHER_OBS variable in examples/Blink3rdPartyLib/Makefile. --- examples/Blink3rdPartyLib/Makefile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 examples/Blink3rdPartyLib/Makefile (limited to 'examples/Blink3rdPartyLib/Makefile') diff --git a/examples/Blink3rdPartyLib/Makefile b/examples/Blink3rdPartyLib/Makefile new file mode 100644 index 0000000..f473dbd --- /dev/null +++ b/examples/Blink3rdPartyLib/Makefile @@ -0,0 +1,24 @@ +# This program is free software and is licensed under the same conditions as +# describe in https://github.com/sudar/Arduino-Makefile/blob/master/licence.txt + +# This is an example Makefile, that demonstrates the linking of a third party +# library. In this case the third party library resides in the ./Toggle +# sub-directory. Note that the archive TOGGLE_ARCHIVE _only_ contains the +# compiled Toggle.c.o object. The TOGGLE_ARCHIVE is thus very lean, but it +# requires the Arduino libraries, which are being build in this directory, +# together with Blink, the 'main' program. + +include board.mk + +TOGGLE_ARCHIVE = build-$(BOARD_TAG)/libtoggle.a + +CXXFLAGS += -IToggle +OTHER_OBJS = Toggle/$(TOGGLE_ARCHIVE) + +include ../../Arduino.mk + +Toggle/$(TOGGLE_ARCHIVE): + $(MAKE) -C Toggle $(TOGGLE_ARCHIVE) + +clean:: + $(MAKE) -C Toggle clean -- cgit v1.2.3