]> rtime.felk.cvut.cz Git - omk.git/commitdiff
QT rules moved to a separate snippet.
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 4 Jul 2006 18:45:00 +0000 (18:45 +0000)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 4 Jul 2006 18:45:00 +0000 (18:45 +0000)
darcs-hash:20060704184537-f2ef6-63ad05e0bd6f76e55d8ee57f3d2634d937f638ee.gz

rulesdef.py
snippets/base
snippets/linux
snippets/qt [new file with mode: 0644]

index 5d771b668db89f5d4d8a84610157e9e02f38cb71..70712aeefe24949099ddd4fffd6daac4ad1f9063 100755 (executable)
@@ -2,6 +2,6 @@
 
 rules = {
     'sysless': [ 'sysless-setup', 'base', 'gcc', 'config_h', 'include', 'sysless', 'sources-list', 'localeval' ],
-    'linux':   [ 'linux-setup', 'base', 'config_h', 'include', 'linux', 'sources-list' ],
+    'linux':   [ 'linux-setup', 'base', 'config_h', 'include', 'linux', 'qt', 'sources-list' ],
     'rtems':   [ 'rtems-setup', 'base', 'config_h', 'include', 'rtems', 'sources-list' ],
     }
index 81e6f119fffa9168fbb4780e5574117c899f2d20..dfcf0c6b80a37ffbd9b35b28b16f97ce1179ded5 100644 (file)
@@ -114,7 +114,7 @@ define mkdir_def
        [ -d $(1) ] || mkdir -p $(1) || exit 1
 endef
 
-# Syntax: $(call omk_pass_template,<pass name>,<build dir>,[<local make flags>],[<local condition>],[<subpass>])
+# Syntax: $(call omk_pass_template,<pass name>,<build dir>,[<local make flags>],[<local condition>])
 define omk_pass_template
 .PHNOY: $(1) $(1)-local
 $(1):
@@ -122,14 +122,12 @@ $(1):
                $(MAKE) SOURCES_DIR=$(SOURCES_DIR)/$(dir) --no-print-directory \
                RELATIVE_DIR=$(RELATIVE_DIR)/$(dir) -C $(2)/$(dir) \
                -f $(SOURCES_DIR)/$(dir)/Makefile $$@ || exit 1 ;)
-       $(5)
-       +@if [ $(4) ] || [ -z "$(subst ",\",$(4))" ]; then \
-           echo "  MAKE    $$@ in $(RELATIVE_DIR)"; \
-           $(call mkdir_def,$(2)); \
-           $(MAKE) --no-print-directory -C $(2) \
-               -f $(SOURCES_DIR)/Makefile $(3) $$(@:%=%-local); \
-       fi
-
+ifneq ($(4),)
+       @echo "  MAKE    $$@ in $(RELATIVE_DIR)"; \
+       $(call mkdir_def,$(2)); \
+       $(MAKE) --no-print-directory -C $(2) \
+               -f $(SOURCES_DIR)/Makefile $(3) $$(@:%=%-local)
+endif
 endef
 
 # =======================
index 9810ed52a9b72f133a488274d23921e77d9c6490..a6f8fc7f1b2b88a0ead706bbd5b5a8102047933c 100644 (file)
@@ -19,8 +19,6 @@
 # INCLUDES         .. additional include directories and defines for user-space
 # kernel_INCLUDES  .. additional include directories and defines for kernel-space
 # rtlinux_INCLUDES .. additional include directories and defines for RT-Linux
-# QT_SUBDIRS       .. subdirectories where to build QT applications using qmake
-# QTDIR                   .. where QT resides
 # OMIT_KERNEL_PASSES  if defined, all kernel passes are omited
 #
 # LINUX_DIR        .. location of Linux kernel sources
diff --git a/snippets/qt b/snippets/qt
new file mode 100644 (file)
index 0000000..c865b91
--- /dev/null
@@ -0,0 +1,24 @@
+# QT_SUBDIRS       .. subdirectories where to build QT applications using qmake
+# QTDIR                   .. where QT resides
+
+ifneq ($(QT_SUBDIRS),)
+
+.PHONY: qt-subpass
+qt-subpass:
+       +@$(foreach dir, $(QT_SUBDIRS), $(call mkdir_def,$(USER_OBJS_DIR)/$(dir)) ; \
+               if [ ! -e $(SOURCES_DIR)/$(dir)/Makefile ] ; then  \
+               ( cd $(SOURCES_DIR)/$(dir) ; $(QTDIR:%=%/bin/)qmake TOP_DIR=$(MAKERULES_DIR) \
+                    RELATIVE_DIR=$(RELATIVE_PREFIX)$(dir) $(QTDIR:%=QTDIR=%) CC=$(CC) \
+                    CXX=$(CXX) || exit 1 ;) ; fi ; \
+               $(MAKE) SOURCES_DIR=$(SOURCES_DIR)/$(dir) \
+               RELATIVE_DIR=$(RELATIVE_PREFIX)$(dir) -C $(SOURCES_DIR)/$(dir) \
+               -f $(SOURCES_DIR)/$(dir)/Makefile || exit 1 ;)
+
+# Hook to binary pass
+binary-pass: qt-subpass
+
+endif
+
+# Local Variables:
+# mode:makefile
+# End: