From 5cb93fcc290b5cac0e3f6600703188bc3108437b Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 17 Jul 2009 10:06:27 +0000 Subject: [PATCH] 2009-07-17 12:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * source/pp/Makefile ! Fixed to delete hbpp.tds. * config/globsh.cf + Attempt to fix nt shell clean rules. Please test. ! Fixed to create bin dir even when lib targets are being created. This hack is needed to support existing hack inside source/pp/Makefile. If there is any possibility to solve current hbpp lib+bin rules in some cleaner ways IMO we should do it, but so far I couldn't figure out how current method works. --- harbour/ChangeLog | 13 +++++++++++++ harbour/config/globsh.cf | 26 +++++++++++++++++--------- harbour/source/pp/Makefile | 1 + 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d883c6229b..4d216d71c0 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,19 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-07-17 12:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * source/pp/Makefile + ! Fixed to delete hbpp.tds. + + * config/globsh.cf + + Attempt to fix nt shell clean rules. Please test. + ! Fixed to create bin dir even when lib targets are being + created. This hack is needed to support existing hack + inside source/pp/Makefile. If there is any possibility + to solve current hbpp lib+bin rules in some cleaner ways + IMO we should do it, but so far I couldn't figure out + how current method works. + 2009-07-17 11:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/globsh.cf * Using RM instead of RD in sh clean rules. diff --git a/harbour/config/globsh.cf b/harbour/config/globsh.cf index 8a9acd35b5..28b889f576 100644 --- a/harbour/config/globsh.cf +++ b/harbour/config/globsh.cf @@ -8,13 +8,20 @@ # http://www.robvanderwoude.com/batchcommands.php # --------------------------------------------------------------- +# NOTE: In dirbase rules, EXE_DIR is intentionally created even +# when a lib is built, so I'm checking for LIB_FILE presence +# instead of EXE_FILE, which would be normal. This is needed +# to support the hack inside source/pp/Makefile. [vszakats] + ifneq ($(HB_SHELL),sh) DIRSEP = $(subst /,\,\) OBJ_DIR_OS = $(subst /,\,$(OBJ_DIR)) LIB_DIR_OS = $(subst /,\,$(LIB_DIR)) +LIB_FILE_OS = $(subst /,\,$(LIB_FILE)) EXE_DIR_OS = $(subst /,\,$(EXE_DIR)) +EXE_FILE_OS = $(subst /,\,$(EXE_FILE)) endif @@ -30,7 +37,7 @@ MDP = mkdir -p dirbase:: @[ -d $(OBJ_DIR) ] || $(MDP) $(OBJ_DIR) @[ -z $(LIB_FILE) ] || [ -d $(LIB_DIR) ] || $(MDP) $(LIB_DIR) - @[ -z $(EXE_FILE) ] || [ -d $(EXE_DIR) ] || $(MDP) $(EXE_DIR) + @[ -z $(LIB_FILE) ] || [ -d $(EXE_DIR) ] || $(MDP) $(EXE_DIR) clean:: -@$(RDP) $(OBJ_DIR) $(LIB_FILE) $(EXE_FILE); \ @@ -65,12 +72,16 @@ MDP = mkdir dirbase:: -@$(CMDPREF)if not exist $(OBJ_DIR_OS) $(MDP) "$(OBJ_DIR_OS)" $(if $(LIB_FILE),-@$(CMDPREF)if not exist "$(LIB_DIR_OS)" $(MDP) "$(LIB_DIR_OS)",) - $(if $(EXE_FILE),-@$(CMDPREF)if not exist "$(EXE_DIR_OS)" $(MDP) "$(EXE_DIR_OS)",) + $(if $(LIB_FILE),-@$(CMDPREF)if not exist "$(EXE_DIR_OS)" $(MDP) "$(EXE_DIR_OS)",) clean:: -@$(CMDPREF)if exist $(OBJ_DIR_OS) $(RDP) "$(OBJ_DIR_OS)" - $(if $(LIB_FILE),-@$(CMDPREF)if exist "$(LIB_DIR_OS)" $(RDP) "$(LIB_DIR_OS)",) - $(if $(EXE_FILE),-@$(CMDPREF)if exist "$(EXE_DIR_OS)" $(RDP) "$(EXE_DIR_OS)",) + $(if $(LIB_FILE),-@$(CMDPREF)if exist "$(LIB_FILE_OS)" $(RM) "$(LIB_FILE_OS)",) + $(if $(LIB_FILE),-@$(CMDPREF)if exist "$(basename $(LIB_FILE_OS)).bak" $(RM) "$(basename $(LIB_FILE_OS)).bak",) + $(if $(LIB_FILE),-@$(CMDPREF)if exist "$(LIB_DIR_OS)" if not exist "$(LIB_DIR_OS)\*" $(RDP) "$(LIB_DIR_OS)",) + $(if $(EXE_FILE),-@$(CMDPREF)if exist "$(EXE_FILE_OS)" $(RM) "$(EXE_FILE_OS)",) + $(if $(EXE_FILE),-@$(CMDPREF)if exist "$(basename $(EXE_FILE_OS)).tds" $(RM) "$(basename $(EXE_FILE_OS)).tds",) + $(if $(EXE_FILE),-@$(CMDPREF)if exist "$(EXE_DIR_OS)" if not exist "$(EXE_DIR_OS)\*" $(RDP) "$(EXE_DIR_OS)",) endif @@ -89,7 +100,7 @@ EXE_ARCH_DIR_OS = $(subst /,\,$(EXE_ARCH_DIR)) dirbase:: -for %d in ($(OBJ_BASE) $(OBJ_ARCH_DIR_OS) $(OBJ_DIR_OS)) do if not exist %d $(MD) %d $(if $(LIB_FILE),-for %d in ($(LIB_ARCH_DIR_OS) $(LIB_DIR_OS)) do if not exist %d $(MD) %d,) - $(if $(EXE_FILE),-for %d in ($(EXE_ARCH_DIR_OS) $(EXE_DIR_OS)) do if not exist %d $(MD) %d,) + $(if $(LIB_FILE),-for %d in ($(EXE_ARCH_DIR_OS) $(EXE_DIR_OS)) do if not exist %d $(MD) %d,) clean:: -if exist $(OBJ_DIR_OS)\*.* $(RM) $(OBJ_DIR_OS)\*.* @@ -112,13 +123,10 @@ CP = $(TOOL_DIR)dj-cp -f MD = $(TOOL_DIR)dj-mkdir MDP = $(TOOL_DIR)dj-mkdir -p -LIB_FILE_OS = $(subst /,\,$(LIB_FILE)) -EXE_FILE_OS = $(subst /,\,$(EXE_FILE)) - dirbase:: -@$(CMDPREF)if not exist $(OBJ_DIR_OS)\nul $(MDP) $(OBJ_DIR_OS) $(if $(LIB_FILE),-@$(CMDPREF)if not exist $(LIB_DIR_OS)\nul $(MDP) $(LIB_DIR_OS),) - $(if $(EXE_FILE),-@$(CMDPREF)if not exist $(EXE_DIR_OS)\nul $(MDP) $(EXE_DIR_OS),) + $(if $(LIB_FILE),-@$(CMDPREF)if not exist $(EXE_DIR_OS)\nul $(MDP) $(EXE_DIR_OS),) clean:: -@$(RDP) $(OBJ_DIR_OS) $(LIB_FILE_OS) $(EXE_FILE_OS) diff --git a/harbour/source/pp/Makefile b/harbour/source/pp/Makefile index b463d8362b..1950ef01e0 100644 --- a/harbour/source/pp/Makefile +++ b/harbour/source/pp/Makefile @@ -45,3 +45,4 @@ install:: clean:: -$(RM) $(subst /,$(DIRSEP),$(HB_VERHEADER)) -$(RM) $(subst /,$(DIRSEP),$(EXE_DIR)/hbpp$(EXE_EXT)) + -$(RM) $(subst /,$(DIRSEP),$(EXE_DIR)/hbpp.tds)