Introduce extra layer of hierarchy to the makefiles. 08/1908/1
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Thu, 7 Jul 2016 18:13:25 +0000 (19:13 +0100)
committerKonstantin Ananyev <konstantin.ananyev@intel.com>
Thu, 7 Jul 2016 18:13:25 +0000 (19:13 +0100)
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>
Makefile
examples/Makefile [new file with mode: 0644]
lib/Makefile [new file with mode: 0644]
mk/tle.subdir.mk [new file with mode: 0644]

index 4a4fe31..c22527c 100644 (file)
--- 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 (file)
index 0000000..bed34ac
--- /dev/null
@@ -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 (file)
index 0000000..56e8efb
--- /dev/null
@@ -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 (file)
index 0000000..92c358b
--- /dev/null
@@ -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))
+