diff options
Diffstat (limited to 'os/lib/lib.mk')
-rw-r--r-- | os/lib/lib.mk | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/os/lib/lib.mk b/os/lib/lib.mk new file mode 100644 index 000000000..f515b0315 --- /dev/null +++ b/os/lib/lib.mk @@ -0,0 +1,41 @@ +# List of all the ChibiOS/LIB files, there is no need to remove the files
+# from this list, you can disable parts of the kernel by editing chlibconf.h.
+ifeq ($(USE_SMART_BUILD),yes)
+
+# Configuration files directory
+ifeq ($(CONFDIR),)
+ CONFDIR = .
+endif
+
+CHLIBCONF := $(strip $(shell cat $(CONFDIR)/chconf.h | egrep -e "\#define"))
+
+LIBSRC :=
+ifneq ($(findstring CH_CFG_USE_MAILBOXES TRUE,$(CHLIBCONF)),)
+LIBSRC += $(CHIBIOS)/os/lib/src/chmboxes.c
+endif
+ifneq ($(findstring CH_CFG_USE_MEMCORE TRUE,$(CHLIBCONF)),)
+LIBSRC += $(CHIBIOS)/os/lib/src/chmemcore.c
+endif
+ifneq ($(findstring CH_CFG_USE_HEAP TRUE,$(CHLIBCONF)),)
+LIBSRC += $(CHIBIOS)/os/lib/src/chheap.c
+endif
+ifneq ($(findstring CH_CFG_USE_MEMPOOLS TRUE,$(CHLIBCONF)),)
+LIBSRC += $(CHIBIOS)/os/lib/src/chmempools.c
+endif
+ifneq ($(findstring CH_CFG_USE_FACTORY TRUE,$(CHLIBCONF)),)
+LIBSRC += $(CHIBIOS)/os/lib/src/chfactory.c
+endif
+else
+LIBSRC := $(CHIBIOS)/os/lib/src/chmboxes.c \
+ $(CHIBIOS)/os/lib/src/chmemcore.c \
+ $(CHIBIOS)/os/lib/src/chheap.c \
+ $(CHIBIOS)/os/lib/src/chmempools.c \
+ $(CHIBIOS)/os/lib/src/chfactory.c
+endif
+
+# Required include directories
+LIBINC := $(CHIBIOS)/os/lib/include
+
+# Shared variables
+ALLCSRC += $(LIBSRC)
+ALLINC += $(LIBINC)
|