]> rtime.felk.cvut.cz Git - omk.git/commitdiff
Include pass is now a template in a separate snippet.
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 27 Jun 2006 15:41:00 +0000 (15:41 +0000)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 27 Jun 2006 15:41:00 +0000 (15:41 +0000)
darcs-hash:20060627154127-f2ef6-c35e7bbe9f9d3f8aa733176eef2133ff7c073b22.gz

rulesdef.py
snippets/include [new file with mode: 0644]
snippets/linux
snippets/rtems
snippets/sysless

index c42a9a1b7df17bd3afce3d2c38a36fe05788df47..66d7be87153e304c9ada7e31c243be5aa6d4381c 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 rules = {
-    'sysless': [ 'base', 'gcc', 'config_h', 'sysless', 'localeval' ],
-    'linux':   [ 'linux-setup', 'base', 'config_h', 'linux' ],
-    'rtems':   [ 'rtems-setup', 'base', 'config_h', 'rtems' ],
+    'sysless': [ 'base', 'gcc', 'config_h', 'include', 'sysless', 'localeval' ],
+    'linux':   [ 'linux-setup', 'base', 'config_h', 'include', 'linux' ],
+    'rtems':   [ 'rtems-setup', 'base', 'config_h', 'include', 'rtems' ],
     }
diff --git a/snippets/include b/snippets/include
new file mode 100644 (file)
index 0000000..4f4a854
--- /dev/null
@@ -0,0 +1,21 @@
+
+# TODO: Check modification date of changed header files. If it is
+# newer that in source dir, show a warning.
+
+# TODO: Optionaly link the files instead of copying
+
+# Syntax: $(call include-pass-template,<include dir>,<keyword>)
+define include-pass-template
+       @$(foreach f, $($(2)_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(1)/$(notdir $(f)) \
+          || cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(1)/$(notdir $(f)) || exit 1 ; )
+       @$(foreach f, $(nobase_$(2)_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(1)/$(f) \
+          || ( mkdir -p $(1)/$(dir $(f)) && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(1)/$(f) ) || exit 1 ; )
+       @$(foreach f, $(renamed_$(2)_HEADERS), \
+          srcfname=`echo '$(f)' | sed -e 's/^\(.*\)->.*$$/\1/'` ; destfname=`echo '$(f)' | sed -e 's/^.*->\(.*\)$$/\1/'` ; \
+          cmp --quiet $(SOURCES_DIR)/$${srcfname} $(1)/$${destfname} \
+          || ( mkdir -p `dirname $(1)/$${destfname}` && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$${srcfname} $(1)/$${destfname} ) || exit 1 ; )
+endef
+
+# Local Variables:
+# mode:makefile
+# End:
index 6f209a1e8256382c596b327ad417cf64d703d5c9..5f9a695c7a516eb02a5d71c5b0a3050dd7df0323 100644 (file)
@@ -602,25 +602,8 @@ check-dir:
 install-local:                 # TODO
 
 include-pass-local:
-#      @$(call mkdir_def,$(USER_INCLUDE_DIR))
-       @$(foreach f, $(include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) \
-          || cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) || exit 1 ; )
-       @$(foreach f, $(nobase_include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) \
-          || ( mkdir -p $(USER_INCLUDE_DIR)/$(dir $(f)) && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) ) || exit 1 ; )
-       @$(foreach f, $(renamed_include_HEADERS), \
-          srcfname=`echo '$(f)' | sed -e 's/^\(.*\)->.*$$/\1/'` ; destfname=`echo '$(f)' | sed -e 's/^.*->\(.*\)$$/\1/'` ; \
-          cmp --quiet $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} \
-          || ( mkdir -p `dirname $(USER_INCLUDE_DIR)/$${destfname}` && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} ) || exit 1 ; )
-# Kernel and RT-Linux stuff
-#      @$(call mkdir_def,$(KERN_INCLUDE_DIR))
-       @$(foreach f, $(kernel_HEADERS) $(rtlinux_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(KERN_INCLUDE_DIR)/$(notdir $(f)) \
-          || cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(KERN_INCLUDE_DIR)/$(notdir $(f)) || exit 1 ; )
-       @$(foreach f, $(nobase_kernel_HEADERS) $(nobase_rtlinux_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(KERN_INCLUDE_DIR)/$(f) \
-          || ( mkdir -p $(KERN_INCLUDE_DIR)/$(dir $(f)) && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(KERN_INCLUDE_DIR)/$(f) ) || exit 1 ; )
-       @$(foreach f, $(renamed_kernel_HEADERS) $(renamed_rtlinux_HEADERS), \
-          srcfname=`echo '$(f)' | sed -e 's/^\(.*\)->.*$$/\1/'` ; destfname=`echo '$(f)' | sed -e 's/^.*->\(.*\)$$/\1/'` ; \
-          cmp --quiet $(SOURCES_DIR)/$${srcfname} $(KERN_INCLUDE_DIR)/$${destfname} \
-          || ( mkdir -p `dirname $(KERN_INCLUDE_DIR)/$${destfname}` && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$${srcfname} $(KERN_INCLUDE_DIR)/$${destfname} ) || exit 1 ; )
+       $(call include-pass-template,$(USER_INCLUDE_DIR),include)
+       $(call include-pass-template,$(KERN_INCLUDE_DIR),kernel)
 
 ifdef USER_RULE_TEMPLATES
 
index 6df70770d9b801eabedb14afe41cef2aa361fd81..8e3b340ab87ee92879407f2832bb6f2a05c07111 100644 (file)
@@ -286,15 +286,7 @@ export CHECK_DIR_DONE
 
 
 include-pass-local:
-       @$(call mkdir_def,$(USER_INCLUDE_DIR))
-       @$(foreach f, $(include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) \
-          || cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) || exit 1 ; )
-       @$(foreach f, $(nobase_include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) \
-          || ( mkdir -p $(USER_INCLUDE_DIR)/$(dir $(f)) && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) ) || exit 1 ; )
-       @$(foreach f, $(renamed_include_HEADERS), \
-          srcfname=`echo '$(f)' | sed -e 's/^\(.*\)->.*$$/\1/'` ; destfname=`echo '$(f)' | sed -e 's/^.*->\(.*\)$$/\1/'` ; \
-          cmp --quiet $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} \
-          || ( mkdir -p `dirname $(USER_INCLUDE_DIR)/$${destfname}` && cp $(CPHEADER_FLAGS) $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} ) || exit 1 ; )
+       $(call include-pass-template,$(USER_INCLUDE_DIR),include)
 
 ifdef USER_RULE_TEMPLATES
 
index 3c592c3de40ce0740208fda89701ade96851433f..81b1d399fbf294ea14c961b1f26c9a717f0134ff 100644 (file)
@@ -224,20 +224,8 @@ dep-local:
 
 install-local:
 
-# TODO: Check modification date of changed header files. If it is
-# newer that in source dir, show a warning.
 include-pass-local:
-#      @$(call mkdir_def,$(USER_INCLUDE_DIR))
-       @$(foreach f, $(include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) \
-          || cp $(CP_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(notdir $(f)) || exit 1 ; )
-       @$(foreach f, $(nobase_include_HEADERS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) \
-          || ( mkdir -p $(USER_INCLUDE_DIR)/$(dir $(f)) && cp $(CP_FLAGS) $(SOURCES_DIR)/$(f) $(USER_INCLUDE_DIR)/$(f) ) || exit 1 ; )
-       @$(foreach f, $(renamed_include_HEADERS), \
-          srcfname=`echo '$(f)' | sed -e 's/^\(.*\)->.*$$/\1/'` ; destfname=`echo '$(f)' | sed -e 's/^.*->\(.*\)$$/\1/'` ; \
-          cmp --quiet $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} \
-          || ( mkdir -p `dirname $(USER_INCLUDE_DIR)/$${destfname}` && cp $(CP_FLAGS) $(SOURCES_DIR)/$${srcfname} $(USER_INCLUDE_DIR)/$${destfname} ) || exit 1 ; )
-       @$(foreach f, $(lib_LDSCRIPTS), cmp --quiet $(SOURCES_DIR)/$(f) $(USER_LIB_DIR)/$(notdir $(f)) \
-          || cp $(CP_FLAGS) $(SOURCES_DIR)/$(f) $(USER_LIB_DIR)/$(notdir $(f)) || exit 1 ; )
+       $(call include-pass-template,$(USER_INCLUDE_DIR),include)
 
 
 .PHONY: clean-custom