From 20a5c86a2237b08c5fa7d8f99d0f2cf8220b3b13 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 13 Feb 2013 17:47:18 +0100 Subject: [PATCH] timer: Build platform-specific parts as lib By using the build system's library-selection mechanism instead of many timer targets with different 'REQUIRES' declarations, this patch reduces the noise of the build system. For all platforms, the target at 'os/src/drivers/timer' is built. The target, in turn, depends on a 'timer' library, which is platform-specific. The various library description files are located under 'os/lib/mk/'. The common bits are contained in 'os/lib/mk/timer.inc'. --- os/lib/mk/codezero/timer.mk | 13 +++++++++++++ os/lib/mk/epit/timer.mk | 3 +++ os/lib/mk/fiasco/timer.mk | 6 ++++++ os/lib/mk/foc/timer.mk | 6 ++++++ os/lib/mk/hw_panda/timer.mk | 3 +++ os/lib/mk/hw_pbxa9/timer.mk | 3 +++ os/lib/mk/hw_vea9x4/timer.mk | 3 +++ os/lib/mk/linux/timer.mk | 8 ++++++++ os/lib/mk/nova/timer.mk | 3 +++ os/lib/mk/okl4_x86/timer.mk | 3 +++ os/lib/mk/pistachio/timer.mk | 6 ++++++ os/lib/mk/timer.inc | 5 +++++ os/src/drivers/timer/codezero/target.mk | 14 -------------- os/src/drivers/timer/empty.cc | 3 +++ os/src/drivers/timer/fiasco/target.mk | 8 -------- os/src/drivers/timer/foc/target.mk | 9 --------- os/src/drivers/timer/hw/epit/target.mk | 24 ------------------------ os/src/drivers/timer/hw/omap4/target.mk | 23 ----------------------- os/src/drivers/timer/hw/pbxa9/target.mk | 23 ----------------------- os/src/drivers/timer/hw/vea9x4/target.mk | 24 ------------------------ os/src/drivers/timer/linux/target.mk | 7 ------- os/src/drivers/timer/nova/target.mk | 8 -------- os/src/drivers/timer/okl4_x86/target.mk | 8 -------- os/src/drivers/timer/pistachio/target.mk | 8 -------- os/src/drivers/timer/target.mk | 3 +++ 25 files changed, 68 insertions(+), 156 deletions(-) create mode 100644 os/lib/mk/codezero/timer.mk create mode 100644 os/lib/mk/epit/timer.mk create mode 100644 os/lib/mk/fiasco/timer.mk create mode 100644 os/lib/mk/foc/timer.mk create mode 100644 os/lib/mk/hw_panda/timer.mk create mode 100644 os/lib/mk/hw_pbxa9/timer.mk create mode 100644 os/lib/mk/hw_vea9x4/timer.mk create mode 100644 os/lib/mk/linux/timer.mk create mode 100644 os/lib/mk/nova/timer.mk create mode 100644 os/lib/mk/okl4_x86/timer.mk create mode 100644 os/lib/mk/pistachio/timer.mk create mode 100644 os/lib/mk/timer.inc delete mode 100644 os/src/drivers/timer/codezero/target.mk create mode 100644 os/src/drivers/timer/empty.cc delete mode 100644 os/src/drivers/timer/fiasco/target.mk delete mode 100644 os/src/drivers/timer/foc/target.mk delete mode 100644 os/src/drivers/timer/hw/epit/target.mk delete mode 100755 os/src/drivers/timer/hw/omap4/target.mk delete mode 100755 os/src/drivers/timer/hw/pbxa9/target.mk delete mode 100755 os/src/drivers/timer/hw/vea9x4/target.mk delete mode 100644 os/src/drivers/timer/linux/target.mk delete mode 100644 os/src/drivers/timer/nova/target.mk delete mode 100644 os/src/drivers/timer/okl4_x86/target.mk delete mode 100644 os/src/drivers/timer/pistachio/target.mk create mode 100644 os/src/drivers/timer/target.mk diff --git a/os/lib/mk/codezero/timer.mk b/os/lib/mk/codezero/timer.mk new file mode 100644 index 0000000000..be041e9f28 --- /dev/null +++ b/os/lib/mk/codezero/timer.mk @@ -0,0 +1,13 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_periodic + +# +# Supply dummy includes to prevent warning about missing string.h and stdio.h, +# which are included by Codezero's headers. +# +REP_INC_DIR += include/codezero/dummies + +SRC_CC += platform_timer.cc +vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/codezero + diff --git a/os/lib/mk/epit/timer.mk b/os/lib/mk/epit/timer.mk new file mode 100644 index 0000000000..f39f921f94 --- /dev/null +++ b/os/lib/mk/epit/timer.mk @@ -0,0 +1,3 @@ +INC_DIR += $(REP_DIR)/src/drivers/timer/hw $(REP_DIR)/src/drivers/timer/hw/epit + +include $(REP_DIR)/lib/mk/timer.inc diff --git a/os/lib/mk/fiasco/timer.mk b/os/lib/mk/fiasco/timer.mk new file mode 100644 index 0000000000..77f974322a --- /dev/null +++ b/os/lib/mk/fiasco/timer.mk @@ -0,0 +1,6 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_periodic + +SRC_CC += platform_timer.cc +vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/fiasco diff --git a/os/lib/mk/foc/timer.mk b/os/lib/mk/foc/timer.mk new file mode 100644 index 0000000000..77f974322a --- /dev/null +++ b/os/lib/mk/foc/timer.mk @@ -0,0 +1,6 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_periodic + +SRC_CC += platform_timer.cc +vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/fiasco diff --git a/os/lib/mk/hw_panda/timer.mk b/os/lib/mk/hw_panda/timer.mk new file mode 100644 index 0000000000..9283853872 --- /dev/null +++ b/os/lib/mk/hw_panda/timer.mk @@ -0,0 +1,3 @@ +INC_DIR += $(REP_DIR)/src/drivers/timer/hw $(REP_DIR)/src/drivers/timer/hw/omap4 + +include $(REP_DIR)/lib/mk/timer.inc diff --git a/os/lib/mk/hw_pbxa9/timer.mk b/os/lib/mk/hw_pbxa9/timer.mk new file mode 100644 index 0000000000..d31b7ba341 --- /dev/null +++ b/os/lib/mk/hw_pbxa9/timer.mk @@ -0,0 +1,3 @@ +INC_DIR += $(REP_DIR)/src/drivers/timer/hw $(REP_DIR)/src/drivers/timer/hw/pbxa9 + +include $(REP_DIR)/lib/mk/timer.inc diff --git a/os/lib/mk/hw_vea9x4/timer.mk b/os/lib/mk/hw_vea9x4/timer.mk new file mode 100644 index 0000000000..d31b7ba341 --- /dev/null +++ b/os/lib/mk/hw_vea9x4/timer.mk @@ -0,0 +1,3 @@ +INC_DIR += $(REP_DIR)/src/drivers/timer/hw $(REP_DIR)/src/drivers/timer/hw/pbxa9 + +include $(REP_DIR)/lib/mk/timer.inc diff --git a/os/lib/mk/linux/timer.mk b/os/lib/mk/linux/timer.mk new file mode 100644 index 0000000000..e82835d8c5 --- /dev/null +++ b/os/lib/mk/linux/timer.mk @@ -0,0 +1,8 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_periodic + +LIBS += syscall + +SRC_CC += platform_timer.cc +vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/linux diff --git a/os/lib/mk/nova/timer.mk b/os/lib/mk/nova/timer.mk new file mode 100644 index 0000000000..1416a43bae --- /dev/null +++ b/os/lib/mk/nova/timer.mk @@ -0,0 +1,3 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_pit diff --git a/os/lib/mk/okl4_x86/timer.mk b/os/lib/mk/okl4_x86/timer.mk new file mode 100644 index 0000000000..1416a43bae --- /dev/null +++ b/os/lib/mk/okl4_x86/timer.mk @@ -0,0 +1,3 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_pit diff --git a/os/lib/mk/pistachio/timer.mk b/os/lib/mk/pistachio/timer.mk new file mode 100644 index 0000000000..394964a1a1 --- /dev/null +++ b/os/lib/mk/pistachio/timer.mk @@ -0,0 +1,6 @@ +include $(REP_DIR)/lib/mk/timer.inc + +INC_DIR += $(REP_DIR)/src/drivers/timer/include_periodic + +SRC_CC += platform_timer.cc +vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/pistachio diff --git a/os/lib/mk/timer.inc b/os/lib/mk/timer.inc new file mode 100644 index 0000000000..6dab909565 --- /dev/null +++ b/os/lib/mk/timer.inc @@ -0,0 +1,5 @@ +SRC_CC += main.cc +LIBS += cxx server env alarm signal +INC_DIR += $(REP_DIR)/src/drivers/timer/include + +vpath main.cc $(REP_DIR)/src/drivers/timer diff --git a/os/src/drivers/timer/codezero/target.mk b/os/src/drivers/timer/codezero/target.mk deleted file mode 100644 index 2db57fec8a..0000000000 --- a/os/src/drivers/timer/codezero/target.mk +++ /dev/null @@ -1,14 +0,0 @@ -TARGET = timer -SRC_CC = main.cc platform_timer.cc -REQUIRES = codezero -LIBS = cxx server env alarm signal - -INC_DIR += $(PRG_DIR)/../include $(PRG_DIR)/../include_periodic - -# -# Supply dummy includes to prevent warning about missing string.h and stdio.h, -# which are included by Codezero's headers. -# -REP_INC_DIR += include/codezero/dummies - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/empty.cc b/os/src/drivers/timer/empty.cc new file mode 100644 index 0000000000..066c1bf825 --- /dev/null +++ b/os/src/drivers/timer/empty.cc @@ -0,0 +1,3 @@ +/* + * Dummy compilation unit needed to link a valid target. + */ diff --git a/os/src/drivers/timer/fiasco/target.mk b/os/src/drivers/timer/fiasco/target.mk deleted file mode 100644 index da31309266..0000000000 --- a/os/src/drivers/timer/fiasco/target.mk +++ /dev/null @@ -1,8 +0,0 @@ -TARGET = timer -SRC_CC = main.cc platform_timer.cc -REQUIRES = fiasco -LIBS = cxx server env alarm signal - -INC_DIR = $(PRG_DIR)/../include $(PRG_DIR)/../include_periodic - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/foc/target.mk b/os/src/drivers/timer/foc/target.mk deleted file mode 100644 index 1ca2e01b16..0000000000 --- a/os/src/drivers/timer/foc/target.mk +++ /dev/null @@ -1,9 +0,0 @@ -TARGET = timer -SRC_CC = main.cc platform_timer.cc -REQUIRES = foc -LIBS = cxx server env alarm signal - -INC_DIR = $(PRG_DIR)/../include $(PRG_DIR)/../include_periodic - -vpath main.cc $(PRG_DIR)/.. -vpath platform_timer.cc $(REP_DIR)/src/drivers/timer/fiasco diff --git a/os/src/drivers/timer/hw/epit/target.mk b/os/src/drivers/timer/hw/epit/target.mk deleted file mode 100644 index ff46cf5cbb..0000000000 --- a/os/src/drivers/timer/hw/epit/target.mk +++ /dev/null @@ -1,24 +0,0 @@ -# -# \brief Timer session server -# \author Stefan Kalkowski -# \date 2012-10-25 -# - -# set program name -TARGET = timer - -# add C++ sources -SRC_CC += main.cc - -# skip build if required specs not fullfilled -REQUIRES += hw epit - -# add libraries -LIBS += cxx server env alarm - -# add include paths -INC_DIR += $(PRG_DIR) $(PRG_DIR)/../ $(PRG_DIR)/../../nova/ - -# declare source paths -vpath main.cc $(PRG_DIR)/../.. - diff --git a/os/src/drivers/timer/hw/omap4/target.mk b/os/src/drivers/timer/hw/omap4/target.mk deleted file mode 100755 index 23fab1bf51..0000000000 --- a/os/src/drivers/timer/hw/omap4/target.mk +++ /dev/null @@ -1,23 +0,0 @@ -# -# \brief Timer session server -# \author Martin Stein -# \date 2012-05-03 -# - -# Set program name -TARGET = timer - -# Add C++ sources -SRC_CC += main.cc - -# Skip build if required specs not fullfilled -REQUIRES += hw omap4 - -# Add libraries -LIBS += cxx server env alarm - -# Add include paths -INC_DIR += $(PRG_DIR) $(PRG_DIR)/../ $(PRG_DIR)/../../nova/ - -# Declare source paths -vpath main.cc $(PRG_DIR)/../.. diff --git a/os/src/drivers/timer/hw/pbxa9/target.mk b/os/src/drivers/timer/hw/pbxa9/target.mk deleted file mode 100755 index f5be995ecc..0000000000 --- a/os/src/drivers/timer/hw/pbxa9/target.mk +++ /dev/null @@ -1,23 +0,0 @@ -# -# \brief Timer session server specific for base-hw and PBXA9 -# \author Martin Stein -# \date 2012-05-03 -# - -# Set program name -TARGET = timer - -# Add C++ sources -SRC_CC += main.cc - -# Skip build if required specs not fullfilled -REQUIRES += hw_pbxa9 - -# Add libraries -LIBS += cxx server env alarm signal - -# Add include paths -INC_DIR += $(PRG_DIR) $(PRG_DIR)/../ $(PRG_DIR)/../../include - -# Declare source paths -vpath main.cc $(PRG_DIR)/../.. diff --git a/os/src/drivers/timer/hw/vea9x4/target.mk b/os/src/drivers/timer/hw/vea9x4/target.mk deleted file mode 100755 index c511aebae5..0000000000 --- a/os/src/drivers/timer/hw/vea9x4/target.mk +++ /dev/null @@ -1,24 +0,0 @@ -# -# \brief Timer session server specific for base-hw and VEA9X4 -# \author Martin Stein -# \date 2012-05-03 -# - -# Set program name -TARGET = timer - -# Add C++ sources -SRC_CC += main.cc - -# Skip build if required specs not fullfilled -REQUIRES += hw_vea9x4 - -# Add libraries -LIBS += cxx server env alarm signal - -# Add include paths -INC_DIR += $(PRG_DIR)/../ $(PRG_DIR)/../pbxa9 $(PRG_DIR)/../../include - -# Declare source paths -vpath main.cc $(PRG_DIR)/../.. - diff --git a/os/src/drivers/timer/linux/target.mk b/os/src/drivers/timer/linux/target.mk deleted file mode 100644 index 12cf9e45ce..0000000000 --- a/os/src/drivers/timer/linux/target.mk +++ /dev/null @@ -1,7 +0,0 @@ -TARGET = timer -SRC_CC = main.cc platform_timer.cc -REQUIRES = linux -LIBS = cxx server env alarm syscall signal -INC_DIR += $(PRG_DIR)/../include $(PRG_DIR)/../include_periodic - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/nova/target.mk b/os/src/drivers/timer/nova/target.mk deleted file mode 100644 index 2d1930356a..0000000000 --- a/os/src/drivers/timer/nova/target.mk +++ /dev/null @@ -1,8 +0,0 @@ -TARGET = timer -SRC_CC = main.cc -REQUIRES = nova x86 -LIBS = cxx server env alarm signal - -INC_DIR = $(PRG_DIR)/../include $(PRG_DIR)/../include_pit - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/okl4_x86/target.mk b/os/src/drivers/timer/okl4_x86/target.mk deleted file mode 100644 index 6d725cad1b..0000000000 --- a/os/src/drivers/timer/okl4_x86/target.mk +++ /dev/null @@ -1,8 +0,0 @@ -TARGET = timer -SRC_CC = main.cc -REQUIRES = okl4 x86 -LIBS = cxx server env alarm signal - -INC_DIR = $(PRG_DIR)/../include $(PRG_DIR)/../include_pit - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/pistachio/target.mk b/os/src/drivers/timer/pistachio/target.mk deleted file mode 100644 index d1bf1b3285..0000000000 --- a/os/src/drivers/timer/pistachio/target.mk +++ /dev/null @@ -1,8 +0,0 @@ -TARGET = timer -SRC_CC = main.cc platform_timer.cc -REQUIRES = pistachio -LIBS = cxx server env alarm signal - -INC_DIR = $(PRG_DIR)/../include $(PRG_DIR)/../include_periodic - -vpath main.cc $(PRG_DIR)/.. diff --git a/os/src/drivers/timer/target.mk b/os/src/drivers/timer/target.mk new file mode 100644 index 0000000000..c4ed3c9a99 --- /dev/null +++ b/os/src/drivers/timer/target.mk @@ -0,0 +1,3 @@ +TARGET = timer +LIBS = timer +SRC_CC = empty.cc