From 5d164c3e8c8cdbd101ff3e37a0f19d57de07f330 Mon Sep 17 00:00:00 2001 From: Patrik Gornicz Date: Wed, 1 Jul 2009 14:52:39 -0400 Subject: [PATCH] created stackpush/pop include functions --- Makefile.d/stackpop.mk | 11 +++++++++++ Makefile.d/stackpush.mk | 24 ++++++++++++++++++++++++ lib/src/dir.mk | 25 ++----------------------- lib/src/locks/dir.mk | 25 ++----------------------- tests/src/1/dir.mk | 25 ++----------------------- tests/src/dir.mk | 25 ++----------------------- tests/src/printTrace/dir.mk | 25 ++----------------------- 7 files changed, 45 insertions(+), 115 deletions(-) create mode 100644 Makefile.d/stackpop.mk create mode 100644 Makefile.d/stackpush.mk diff --git a/Makefile.d/stackpop.mk b/Makefile.d/stackpop.mk new file mode 100644 index 0000000..c53dc35 --- /dev/null +++ b/Makefile.d/stackpop.mk @@ -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 index 0000000..59a812f --- /dev/null +++ b/Makefile.d/stackpush.mk @@ -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}/ + diff --git a/lib/src/dir.mk b/lib/src/dir.mk index 122aae5..b18fdc0 100644 --- a/lib/src/dir.mk +++ b/lib/src/dir.mk @@ -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 diff --git a/lib/src/locks/dir.mk b/lib/src/locks/dir.mk index d9a0523..56bd062 100644 --- a/lib/src/locks/dir.mk +++ b/lib/src/locks/dir.mk @@ -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 diff --git a/tests/src/1/dir.mk b/tests/src/1/dir.mk index deebd10..9989045 100644 --- a/tests/src/1/dir.mk +++ b/tests/src/1/dir.mk @@ -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 diff --git a/tests/src/dir.mk b/tests/src/dir.mk index 122aae5..b18fdc0 100644 --- a/tests/src/dir.mk +++ b/tests/src/dir.mk @@ -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 diff --git a/tests/src/printTrace/dir.mk b/tests/src/printTrace/dir.mk index 176d55d..4a25699 100644 --- a/tests/src/printTrace/dir.mk +++ b/tests/src/printTrace/dir.mk @@ -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 -- 2.10.2