commit bb46c559fac6ba3c2c9e1516d4a4171213263157
Author: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Date:   Mon Jan 21 13:50:02 2019 +0100

    Reworked Makefile and template files.

diff --git a/README.txt b/README.txt
index 674224a..83715e8 100644
--- a/README.txt
+++ b/README.txt
@@ -49,13 +49,13 @@ References:
 
 AMiRo-LLD is a compilation of low-level hardware drivers, originally developed
 for the Autonomous Mini Robot (AMiRo) [1]. It provides a modular design, so that
-each driver can be (de)activated individually as required. Interface functions
-allow for bidirectional comunication with an operating system. On the one hand
-drivers access according hardware interfaces via defined interface functions
-(which need to be implemented by the operating system) and any applications (or
-the operating system itself) can take advantage of the drivers by their
-individual interfaces. The abstraction layer of the hardware interfaces is
-called "periphAL", which is defined by this project.
+each driver can be activated individually as required. Interface functions allow
+for bidirectional comunication with an operating system. On the one hand drivers
+access according hardware interfaces via defined interface functions (which need
+to be implemented by the operating system) and any applications (or the
+operating system itself) can take advantage of the drivers by their individual
+interfaces. The abstraction layer of the hardware interfaces is called
+"periphAL", which is defined by this project.
 
 Although this compilation was originally designed to be used in combination with
 the AMiRo operating system (AMiRo-OS; cf. https://opensource.cit-ec.de/projects/amiro-os/),
@@ -64,29 +64,33 @@ purpose and contributions of further drivers, even if the according hardware is
 not present on the AMiRo platform, are highly appreciated.
 
 The files are structured as follows:
-* include/
-  Each driver defines exactly one include header in this directory. By
-  convention these files are named by the form
-    alld_<product_name>.h
-  <product_name> is a placeholder for the exact name of the according hardware,
-  or the product familiy, if the driver is compatible with all parts.
-* source/
-  Any source files are placed in this directory. Usually there is a single file
-  for each driver. If multiple files are necessary, these should be placed in an
-  accordingly named subfolder. Names of folders and files should comply to the
-  aforementioned convention.
-* templates/
-  AMiRo-LLD requires an implementation of the defined interface and an
-  configuration header to be accessible in the include paths at compile time.
-  Template files for both can be found in this folder. It is recommended to
-  place according implementations of these templated not in the AMiRo-LLD
-  project, but the superproject which includes AMiRo-LLD.
-* /
-  The project root directory contains this file, a license.html file as well as
-  a Makefile that allows to easily integrate the project. Furthermore, two
-  interface headers are provided: amiro-lld.h and periphALtypes.h. These are
-  entry points for any utilizing superproject, so it is not required (and not
-  recommanded) to include each driver individually.
+./
+│ The project root directory contains this file, a license.html file as well as
+│ a Makefile that allows to easily integrate the project. Furthermore, two
+│ interface headers are provided: amiro-lld.h and periphALtypes.h. These are
+│ entry points for any utilizing superproject, so it is not required (and not
+│ recommended) to include each driver individually.
+│
+├── include/
+│     Each driver defines exactly one include header in this directory. By
+│     convention these files are named by the form
+│     alld_<product_name>.h
+│     <product_name> is a placeholder for the exact name of the according
+│     hardware, or the product familiy, if the driver is compatible with all
+│     parts.
+│
+├── source/
+│     Any source files are placed in this directory. Usually there is a single
+│     file for each driver. If multiple files are necessary, these should be
+│     placed in an accordingly named subfolder. Names of folders and files
+│     should comply to the aforementioned convention.
+│
+└── templates/
+      AMiRo-LLD requires an implementation of the defined interface and an
+      configuration header to be accessible in the include paths at compile
+      time. Template files for both can be found in this folder. It is
+      recommended to place according implementations of these templated not in
+      the AMiRo-LLD project, but the superproject which includes AMiRo-LLD.
 
 ================================================================================
 
diff --git a/templates/alldconf.h b/templates/alldconf.h
index d0d526c..a857b31 100644
--- a/templates/alldconf.h
+++ b/templates/alldconf.h
@@ -34,110 +34,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #define AMIROLLD_CFG_TIME_SIZE          32
 
-/*
- * DEACTIVATE DRIVERS BY UNDEFINING (i.e. commenting) THE ACCORDING MACROS.
- */
-
-/**
- * @brief   Enable flag for the A3906 motor driver.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_A3906
-
-/**
- * @brief   Enable flag for the AT24C01BN-SH-B EEPROM.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_AT24C01BN
-
-/**
- * @brief   Enable flag for the BQ24103A battery charger.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_BQ24103A
-
-/**
- * @brief   Enable flag for the BQ27500 fuel gauge.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_BQ27500
-
-/**
- * @brief   Enable flag for the MHC5883L compass.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_HMC5883L
-
-/**
- * @brief   Enable flag for the INA219 power monitor.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_INA219
-
-/**
- * @brief   Enable flag for the L3G4200D gyroscope.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_L3G4200D
-
-/**
- * @brief   Enable flag for the status LED.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_LED
-
-/**
- * @brief   Enable flag for the LIS331DLH accelerometer.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_LIS331DLH
-
-/**
- * @brief   Enable flag for the LTC4412 power path controller.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_LTC4412
-
-/**
- * @brief   Enable flag for the MPR121 touch sensor.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_MPR121
-
-/**
- * @brief   Enable flag for the PCA9544A I2C multiplexer.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_PCA9544A
-
-/**
- * @brief   Enable flag for the PKLCS1212E4001 buzzer.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_PKLCS2121E4001
-
-/**
- * @brief   Enable flag for the TLC5947 LED driver.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_TLC5947
-
-/**
- * @brief   Enable flag for the TPS2051BDBV power switch.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_TPS2051BDBV
-
-/**
- * @brief   Enable flag for the TPS62113 step-down converter.
- * @note    Comment to disable.
- */
-#define AMIROLLD_CFG_USE_TPS62113
-
 /**
- * @brief   Enable flag for the VCNL4020 proximity sensor.
- * @note    Comment to disable.
+ * @brief   Enable flag a driver <driver_name>.
+ * @details Use multiple such enable flags to activate drivers as required.
+ *          Replace <driver_name> by the according value (e.g. use
+ *          AMIROLLD_CFG_USE_A3906 in order to enable the A3906 motor driver.
  */
-#define AMIROLLD_CFG_USE_VCNL4020
+#define AMIROLLD_CFG_USE_<driver_name>
 
 #endif /* _ALLDCONF_H_ */
