aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2016-07-07 19:13:25 +0100
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2016-07-07 19:13:25 +0100
commitc034e6912a0bcaaaf90b64f2c09d6d1cdda3aecb (patch)
tree74499d19fc8fbe155d1f08722dfa669247b8c23c
parent06ac4c87e099beef79ba20e36bef9c02c93af7ce (diff)
Introduce extra layer of hierarchy to the makefiles.
Now each subdir in the TLDK_ROOT has it's own Makefile. In preparation for further project expansion. Change-Id: I80560680a8538734986941e8df343c5393c621cc Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
-rw-r--r--Makefile4
-rw-r--r--examples/Makefile26
-rw-r--r--lib/Makefile26
-rw-r--r--mk/tle.subdir.mk31
4 files changed, 85 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 4a4fe31..c22527c 100644
--- a/Makefile
+++ b/Makefile
@@ -24,8 +24,8 @@ endif
# Default target, can be overriden by command line or environment
RTE_TARGET ?= x86_64-native-linuxapp-gcc
-DIRS-y += lib/libtle_udp
-DIRS-y += examples/udpfwd
+DIRS-y += lib
+DIRS-y += examples
MAKEFLAGS += --no-print-directory
diff --git a/examples/Makefile b/examples/Makefile
new file mode 100644
index 0000000..bed34ac
--- /dev/null
+++ b/examples/Makefile
@@ -0,0 +1,26 @@
+# Copyright (c) 2016 Intel Corporation.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ifeq ($(RTE_SDK),)
+$(error "Please define RTE_SDK environment variable")
+endif
+
+ifeq ($(TLDK_ROOT),)
+$(error "Please define TLDK_SDK environment variable")
+endif
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-y += udpfwd
+
+include $(TLDK_ROOT)/mk/tle.subdir.mk
diff --git a/lib/Makefile b/lib/Makefile
new file mode 100644
index 0000000..56e8efb
--- /dev/null
+++ b/lib/Makefile
@@ -0,0 +1,26 @@
+# Copyright (c) 2016 Intel Corporation.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ifeq ($(RTE_SDK),)
+$(error "Please define RTE_SDK environment variable")
+endif
+
+ifeq ($(TLDK_ROOT),)
+$(error "Please define TLDK_SDK environment variable")
+endif
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-y += libtle_udp
+
+include $(TLDK_ROOT)/mk/tle.subdir.mk
diff --git a/mk/tle.subdir.mk b/mk/tle.subdir.mk
new file mode 100644
index 0000000..92c358b
--- /dev/null
+++ b/mk/tle.subdir.mk
@@ -0,0 +1,31 @@
+# Copyright (c) 2016 Intel Corporation.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+.PHONY: all
+all: $(DIRS-y)
+
+.PHONY: clean
+clean: $(DIRS-y)
+
+.PHONY: $(DIRS-y)
+$(DIRS-y):
+ @echo "== $@"
+ $(Q)$(MAKE) -C $(@) \
+ M=$(CURDIR)/$(@)/Makefile \
+ O=$(BASE_OUTPUT) \
+ BASE_OUTPUT=$(BASE_OUTPUT) \
+ CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \
+ S=$(CURDIR)/$(@) \
+ RTE_TARGET=$(RTE_TARGET) \
+ $(filter-out $(DIRS-y),$(MAKECMDGOALS))
+