scripts: move to buildtools
[dpdk.git] / mk / rte.sdkconfig.mk
index e93237f..97581c9 100644 (file)
@@ -88,11 +88,13 @@ $(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
                $(CPP) -undef -P -x assembler-with-cpp \
                -ffreestanding \
                -o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
-               for config in $$(grep -v "^#" $(RTE_OUTPUT)/.config_tmp | cut -d"=" -f1 | sort | uniq -d); do \
-                       while [ $$(grep "^$${config}=" $(RTE_OUTPUT)/.config_tmp -c ) -gt 1 ]; do \
-                               sed -i "0,/^$${config}=/{//d}" $(RTE_OUTPUT)/.config_tmp; \
-                       done; \
-               done; \
+               config=$$(cat $(RTE_OUTPUT)/.config_tmp) ; \
+               echo "$$config" | awk -F '=' 'BEGIN {i=1} \
+                       /^#/ {pos[i++]=$$0} \
+                       !/^#/ {if (!s[$$1]) {pos[i]=$$0; s[$$1]=i++} \
+                               else {pos[s[$$1]]=$$0}} END \
+                       {for (j=1; j<i; j++) print pos[j]}' \
+                       > $(RTE_OUTPUT)/.config_tmp ; \
                if ! cmp -s $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config; then \
                        cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config ; \
                        cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config.orig ; \
@@ -105,12 +107,12 @@ endif
 
 # generate a Makefile for this build directory
 # use a relative path so it will continue to work even if we move the directory
-SDK_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_SRCDIR)) \
+SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
                                $(abspath $(RTE_OUTPUT)))
-OUTPUT_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_OUTPUT)) \
+OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
                                $(abspath $(RTE_SRCDIR)))
 $(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-       $(Q)$(RTE_SDK)/scripts/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
+       $(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
                > $(RTE_OUTPUT)/Makefile
 
 # clean installed files, and generate a new config header file
@@ -120,7 +122,7 @@ $(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
                $(RTE_OUTPUT)/lib \
                $(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
        $(Q)mkdir -p $(RTE_OUTPUT)/include
-       $(Q)$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \
+       $(Q)$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
                > $(RTE_OUTPUT)/include/rte_config.h
 
 # generate the rte_config.h