Port 486cd780047ff22471c5cbe417911a042ae23962 to win32/ Makefiles.
Nicholas Clark [Sun, 25 Jan 2009 10:33:41 +0000 (10:33 +0000)]
(miniperl no longer needs git_version.h, perl.o explictly depends on it)

win32/Makefile
win32/makefile.mk

index dccade2..dfe71e1 100644 (file)
@@ -877,14 +877,13 @@ config.w32 : $(CFGSH_TMPL)
        -del /f config.h
        copy $(CFGH_TMPL) config.h
 
-make_patchnum : $(MINIPERL)
+..\git_version.h : $(MINIPERL) make_patchnum.pl
        cd ..
        miniperl -Ilib make_patchnum.pl
        cd win32
 
-..\git_version.h : ..\stock_git_version.h
-       -del /f ..\git_version.h
-       copy ..\stock_git_version.h ..\git_version.h
+# make sure that we recompile perl.c if the git version changes
+..\perl$(o) : ..\git_version.h
 
 ..\config.sh : config.w32 $(MINIPERL) config_sh.PL
        $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) config.w32 > ..\config.sh
@@ -943,6 +942,7 @@ perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h
 
 # 1. we don't want to rebuild miniperl.exe when config.h changes
 # 2. we don't want to rebuild miniperl.exe with non-default config.h
+# 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it
 $(MINI_OBJ)    : $(CORE_NOCFG_H)
 
 $(WIN32_OBJ)   : $(CORE_H)
@@ -1024,7 +1024,7 @@ perlmainst.c : runperl.c
 perlmainst$(o) : perlmainst.c
        $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
 
-$(PERLEXE): make_patchnum $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
+$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
        $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \
            $(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES)
        $(EMBED_EXE_MANI)
@@ -1033,7 +1033,7 @@ $(PERLEXE): make_patchnum $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
        copy splittree.pl ..
        $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
 
-$(PERLEXESTATIC): make_patchnum $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
+$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
        $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \
            @Extensions_static $(PERLSTATICLIB) /PDB:NONE \
            $(LIBFILES) $(PERLEXEST_OBJ) $(SETARGV_OBJ) $(PERLEXE_RES)
index acbb8de..689d139 100644 (file)
@@ -1125,12 +1125,11 @@ config.w32 : $(CFGSH_TMPL)
        -del /f config.h
        copy $(CFGH_TMPL) config.h
 
-make_patchnum : $(MINIPERL)
+..\git_version.h : $(MINIPERL) make_patchnum.pl
        cd .. && miniperl -Ilib make_patchnum.pl
 
-..\git_version.h : ..\stock_git_version.h
-       -del /f ..\git_version.h
-       copy ..\stock_git_version.h ..\git_version.h
+# make sure that we recompile perl.c if the git version changes
+..\perl$(o) : ..\git_version.h
 
 ..\config.sh : config.w32 $(MINIPERL) config_sh.PL FindExt.pm
        $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file \
@@ -1200,6 +1199,7 @@ perllib$(o)       : perllib.c .\perlhost.h .\vdir.h .\vmem.h
 
 # 1. we don't want to rebuild miniperl.exe when config.h changes
 # 2. we don't want to rebuild miniperl.exe with non-default config.h
+# 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it
 $(MINI_OBJ)    : $(CORE_NOCFG_H)
 
 $(WIN32_OBJ)   : $(CORE_H)
@@ -1332,7 +1332,7 @@ perlmainst.c : runperl.c
 perlmainst$(o) : perlmainst.c
        $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
 
-$(PERLEXE): make_patchnum $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
+$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpe -ap $(BLINK_FLAGS) \
            @$(mktmp c0x32$(o) $(PERLEXE_OBJ),$@,, \
@@ -1350,7 +1350,7 @@ $(PERLEXE): make_patchnum $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
        copy splittree.pl ..
        $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
 
-$(PERLEXESTATIC): make_patchnum $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
+$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
 .IF "$(CCTYPE)" == "BORLAND"
        $(LINK32) -Tpe -ap $(BLINK_FLAGS) \
            @$(mktmp c0x32$(o) $(PERLEXEST_OBJ),$@,, \