created stackpush/pop include functions
authorPatrik Gornicz <Gornicz.P@gmail.com>
Wed, 1 Jul 2009 18:52:39 +0000 (14:52 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Wed, 1 Jul 2009 18:52:39 +0000 (14:52 -0400)
Makefile.d/stackpop.mk [new file with mode: 0644]
Makefile.d/stackpush.mk [new file with mode: 0644]
lib/src/dir.mk
lib/src/locks/dir.mk
tests/src/1/dir.mk
tests/src/dir.mk
tests/src/printTrace/dir.mk

diff --git a/Makefile.d/stackpop.mk b/Makefile.d/stackpop.mk
new file mode 100644 (file)
index 0000000..c53dc35
--- /dev/null
@@ -0,0 +1,11 @@
+
+# Simulate a stack pop on DIRNAME, D and CURDIR
+#
+# Restores variables to parents values
+#
+# Requires a stackpush to have been called in this directory
+
+CURDIR  := ${CURDIR_$D}
+DIRNAME := ${DIRNAME_$D}
+D       := ${D_$D}
+
diff --git a/Makefile.d/stackpush.mk b/Makefile.d/stackpush.mk
new file mode 100644 (file)
index 0000000..59a812f
--- /dev/null
@@ -0,0 +1,24 @@
+
+# Simulate a stack push on DIRNAME, D and CURDIR
+#
+# Updates variables without destroying parents values
+#
+# Requires T_DIRNAME to be set when included
+
+T := $D_TEMP
+    DIRNAME_$T  := ${DIRNAME}
+    D_$T        := $D
+
+    DIRNAME     := ${T_DIRNAME}
+    D           := $D_${DIRNAME}
+
+    DIRNAME_$D  := ${DIRNAME_$T}
+    D_$D        := ${D_$T}
+
+    DIRNAME_$T  :=
+    D_$T        :=
+T :=
+
+CURDIR_$D   := ${CURDIR}
+CURDIR      := ${CURDIR_$D}${DIRNAME}/
+
index 122aae5..b18fdc0 100644 (file)
@@ -3,34 +3,13 @@ T_DIRNAME := src
 
 ################################################################################
 
-# save
-T := $D_TEMP
-    DIRNAME_$T  := ${DIRNAME}
-    D_$T        := $D
-
-    DIRNAME     := ${T_DIRNAME}
-    D           := $D_${DIRNAME}
-
-    DIRNAME_$D  := ${DIRNAME_$T}
-    D_$D        := ${D_$T}
-
-    DIRNAME_$T  :=
-    D_$T        :=
-T :=
-
+include Makefile.d/stackpush.mk
 T_DIRNAME :=
 
-CURDIR_$D   := ${CURDIR}
-CURDIR      := ${CURDIR_$D}${DIRNAME}/
-
 
 include ${CURDIR}${G_FILESMK}
 include $(addsuffix ${G_DIRMK},${NEWDIRS})
 
 
-# restore
-
-CURDIR  := ${CURDIR_$D}
-DIRNAME := ${DIRNAME_$D}
-D       := ${D_$D}
+include Makefile.d/stackpop.mk
 
index d9a0523..56bd062 100644 (file)
@@ -3,34 +3,13 @@ T_DIRNAME := locks
 
 ################################################################################
 
-# save
-T := $D_TEMP
-    DIRNAME_$T  := ${DIRNAME}
-    D_$T        := $D
-
-    DIRNAME     := ${T_DIRNAME}
-    D           := $D_${DIRNAME}
-
-    DIRNAME_$D  := ${DIRNAME_$T}
-    D_$D        := ${D_$T}
-
-    DIRNAME_$T  :=
-    D_$T        :=
-T :=
-
+include Makefile.d/stackpush.mk
 T_DIRNAME :=
 
-CURDIR_$D   := ${CURDIR}
-CURDIR      := ${CURDIR_$D}${DIRNAME}/
-
 
 include ${CURDIR}${G_FILESMK}
 include $(addsuffix ${G_DIRMK},${NEWDIRS})
 
 
-# restore
-
-CURDIR  := ${CURDIR_$D}
-DIRNAME := ${DIRNAME_$D}
-D       := ${D_$D}
+include Makefile.d/stackpop.mk
 
index deebd10..9989045 100644 (file)
@@ -3,26 +3,9 @@ T_DIRNAME := 1
 
 ################################################################################
 
-# save
-T := $D_TEMP
-    DIRNAME_$T  := ${DIRNAME}
-    D_$T        := $D
-
-    DIRNAME     := ${T_DIRNAME}
-    D           := $D_${DIRNAME}
-
-    DIRNAME_$D  := ${DIRNAME_$T}
-    D_$D        := ${D_$T}
-
-    DIRNAME_$T  :=
-    D_$T        :=
-T :=
-
+include Makefile.d/stackpush.mk
 T_DIRNAME :=
 
-CURDIR_$D   := ${CURDIR}
-CURDIR      := ${CURDIR_$D}${DIRNAME}/
-
 
 include ${CURDIR}${G_VARSMK}
 
@@ -41,9 +24,5 @@ include ${CURDIR}${G_TVARSMK}
 include ${CURDIR}${G_RULESMK}
 
 
-# restore
-
-CURDIR  := ${CURDIR_$D}
-DIRNAME := ${DIRNAME_$D}
-D       := ${D_$D}
+include Makefile.d/stackpop.mk
 
index 122aae5..b18fdc0 100644 (file)
@@ -3,34 +3,13 @@ T_DIRNAME := src
 
 ################################################################################
 
-# save
-T := $D_TEMP
-    DIRNAME_$T  := ${DIRNAME}
-    D_$T        := $D
-
-    DIRNAME     := ${T_DIRNAME}
-    D           := $D_${DIRNAME}
-
-    DIRNAME_$D  := ${DIRNAME_$T}
-    D_$D        := ${D_$T}
-
-    DIRNAME_$T  :=
-    D_$T        :=
-T :=
-
+include Makefile.d/stackpush.mk
 T_DIRNAME :=
 
-CURDIR_$D   := ${CURDIR}
-CURDIR      := ${CURDIR_$D}${DIRNAME}/
-
 
 include ${CURDIR}${G_FILESMK}
 include $(addsuffix ${G_DIRMK},${NEWDIRS})
 
 
-# restore
-
-CURDIR  := ${CURDIR_$D}
-DIRNAME := ${DIRNAME_$D}
-D       := ${D_$D}
+include Makefile.d/stackpop.mk
 
index 176d55d..4a25699 100644 (file)
@@ -3,26 +3,9 @@ T_DIRNAME := printTrace
 
 ################################################################################
 
-# save
-T := $D_TEMP
-    DIRNAME_$T  := ${DIRNAME}
-    D_$T        := $D
-
-    DIRNAME     := ${T_DIRNAME}
-    D           := $D_${DIRNAME}
-
-    DIRNAME_$D  := ${DIRNAME_$T}
-    D_$D        := ${D_$T}
-
-    DIRNAME_$T  :=
-    D_$T        :=
-T :=
-
+include Makefile.d/stackpush.mk
 T_DIRNAME :=
 
-CURDIR_$D   := ${CURDIR}
-CURDIR      := ${CURDIR_$D}${DIRNAME}/
-
 
 include ${CURDIR}${G_VARSMK}
 
@@ -41,9 +24,5 @@ include ${CURDIR}${G_TVARSMK}
 include ${CURDIR}${G_RULESMK}
 
 
-# restore
-
-CURDIR  := ${CURDIR_$D}
-DIRNAME := ${DIRNAME_$D}
-D       := ${D_$D}
+include Makefile.d/stackpop.mk