]> granicus.if.org Git - python/commitdiff
Close #13596: Only recompile Lib/_sysconfigdata.py when needed
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 15 Dec 2011 20:48:39 +0000 (21:48 +0100)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 15 Dec 2011 20:48:39 +0000 (21:48 +0100)
Makefile.pre.in

index 4dcadb76afc127ec9e09cf1928c6c224007f3dc8..0a3df8d9352bd50ff66c217df4ba1f0d98494b4e 100644 (file)
@@ -379,6 +379,7 @@ OBJECT_OBJS=        \
                Objects/unicodectype.o \
                Objects/weakrefobject.o
 
+SYSCONFIGDATA=$(srcdir)/Lib/_sysconfigdata.py
 
 ##########################################################################
 # objects that get linked into the Python library
@@ -396,7 +397,7 @@ LIBRARY_OBJS=       \
 
 # Default target
 all:           build_all
-build_all:     $(BUILDPYTHON) sysconfig oldsharedmods sharedmods gdbhooks Modules/_testembed
+build_all:     $(BUILDPYTHON) $(SYSCONFIGDATA) oldsharedmods sharedmods gdbhooks Modules/_testembed
 
 # Compile a binary with gcc profile guided optimization.
 profile-opt:
@@ -429,15 +430,15 @@ coverage:
 $(BUILDPYTHON):        Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
        $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
 
-platform: $(BUILDPYTHON) sysconfig
+platform: $(BUILDPYTHON) $(SYSCONFIGDATA)
        $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
 
 # Generate the sysconfig build-time data
-sysconfig: $(BUILDPYTHON)
+$(SYSCONFIGDATA): $(BUILDPYTHON)
        $(RUNSHARED) ./$(BUILDPYTHON) -SE -m sysconfig --generate-posix-vars
 
 # Build the shared modules
-sharedmods: $(BUILDPYTHON) sysconfig
+sharedmods: $(BUILDPYTHON) $(SYSCONFIGDATA)
        @case $$MAKEFLAGS in \
        *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
        *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
@@ -1315,7 +1316,7 @@ clean: pycremoval
        find build -name 'fficonfig.h' -exec rm -f {} ';' || true
        find build -name 'fficonfig.py' -exec rm -f {} ';' || true
        -rm -f Lib/lib2to3/*Grammar*.pickle
-       -rm -f Lib/_sysconfigdata.py
+       -rm -f $(SYSCONFIGDATA)
        -rm -f Modules/_testembed
 
 profile-removal:
@@ -1393,7 +1394,7 @@ patchcheck:
 Python/thread.o: @THREADHEADERS@
 
 # Declare targets that aren't real files
-.PHONY: all build_all sysconfig sharedmods oldsharedmods test quicktest
+.PHONY: all build_all sharedmods oldsharedmods test quicktest
 .PHONY: install altinstall oldsharedinstall bininstall altbininstall
 .PHONY: maninstall libinstall inclinstall libainstall sharedinstall
 .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure