diff options
author | Ian Lynagh <igloo@earth.li> | 2011-11-19 01:29:05 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2011-11-19 01:52:32 +0000 |
commit | 80e9070c77718b7ff0e913182e54842754726ce8 (patch) | |
tree | 12804916372a3675a7d1beb00bd41e70083c5edf /rules/build-dependencies.mk | |
parent | 042841713eb6468696eeb437de994c52eb7a858e (diff) | |
download | haskell-80e9070c77718b7ff0e913182e54842754726ce8.tar.gz |
Improve the way we call "rm" in the build system; fixes trac #4916
We avoid calling "rm -rf" with no file arguments; this fixes cleaning
on Solaris, where that fails.
We also check for suspicious arguments: anything containing "..",
starting "/", or containing a "*" (you need to call $(wildcard ...)
yourself now if you really want globbing). This should make things
a little safer.
Diffstat (limited to 'rules/build-dependencies.mk')
-rw-r--r-- | rules/build-dependencies.mk | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/rules/build-dependencies.mk b/rules/build-dependencies.mk index e6d493ccf7..c9c62cdcdc 100644 --- a/rules/build-dependencies.mk +++ b/rules/build-dependencies.mk @@ -32,7 +32,7 @@ ifneq "$$(NO_GENERATED_MAKEFILE_RULES)" "YES" $$($1_$2_depfile_haskell) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_haskell) : $$($1_$2_HS_SRCS) $$($1_$2_HS_BOOT_SRCS) $$($1_$2_HC_MK_DEPEND_DEP) | $$$$(dir $$$$@)/. - "$$(RM)" $$(RM_OPTS) $$@.tmp + $$(call removeFiles,$$@.tmp) touch $$@.tmp ifneq "$$($1_$2_HS_SRCS)" "" "$$($1_$2_HC_MK_DEPEND)" -M $$($1_$2_MKDEPENDHS_FLAGS) \ @@ -55,7 +55,7 @@ endif $$($1_$2_depfile_c_asm) : $$(includes_H_CONFIG) $$(includes_H_PLATFORM) $$($1_$2_depfile_c_asm) : $$($1_$2_C_FILES_DEPS) $$($1_$2_S_FILES) | $$$$(dir $$$$@)/. - "$$(RM)" $$(RM_OPTS) $$@.tmp + $$(call removeFiles,$$@.tmp) touch $$@.tmp ifneq "$$(strip $$($1_$2_C_FILES_DEPS)$$($1_$2_S_FILES))" "" # We ought to actually do this for each way in $$($1_$2_WAYS), but then @@ -64,7 +64,7 @@ ifneq "$$(strip $$($1_$2_C_FILES_DEPS)$$($1_$2_S_FILES))" "" # copy the deps for each way on the assumption that they are the same $$(foreach f,$$($1_$2_C_FILES_DEPS) $$($1_$2_S_FILES), \ $$(call addCFileDeps,$1,$2,$$($1_$2_depfile_c_asm),$$f,$$($1_$2_WAYS))) - "$$(RM)" $$(RM_OPTS) $$@.bit + $$(call removeFiles,$$@.bit) endif echo "$1_$2_depfile_c_asm_EXISTS = YES" >> $$@.tmp mv $$@.tmp $$@ |