Blame project/pycgen.mk

9ef55b
PYCGEN        = $(CURDIR)/$(PYCOMPILE)
9ef55b
9ef55b
PYDIST_ENCDIR = $(PYDIST_PYCDIR)/./encodings
9ef55b
PYDIST_IMPDIR = $(PYDIST_PYCDIR)/./importlib
9ef55b
PYDIST_COLDIR = $(PYDIST_PYCDIR)/./collections
9ef55b
PYDIST_URLDIR = $(PYDIST_PYCDIR)/./urllib
9ef55b
9ef55b
PYCGEN_PYCDIR = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/.
9ef55b
PYCGEN_ENCDIR = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./encodings
9ef55b
PYCGEN_IMPDIR = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./importlib
9ef55b
PYCGEN_COLDIR = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./collections
9ef55b
PYCGEN_URLDIR = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./urllib
9ef55b
b6fc94
PYCGEN_CFGDAT = $(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./_sysconfigdata_$(PYTHON_ABIFL)_$(NATIVE_OS)_.py
9ef55b
PYCGEN_PYSRCS = $(PYDIST_SRCS:$(PYDIST_PYCDIR)/./%.py=$(PYCGEN_PYCDIR)/%.py)
9ef55b
PYCGEN_PYENCS = $(PYDIST_ENCODINGS_SRCS:$(PYDIST_ENCDIR)/%.py=$(PYCGEN_ENCDIR)/%.py)
9ef55b
PYCGEN_PYIMPS = $(PYDIST_IMPORTLIB_SRCS:$(PYDIST_IMPDIR)/%.py=$(PYCGEN_IMPDIR)/%.py)
9ef55b
PYCGEN_PYCOLS = $(PYDIST_COLLECTIONS_SRCS:$(PYDIST_COLDIR)/%.py=$(PYCGEN_COLDIR)/%.py)
9ef55b
PYCGEN_PYURLS = $(PYDIST_URLLIB_SRCS:$(PYDIST_URLDIR)/%.py=$(PYCGEN_URLDIR)/%.py)
9ef55b
b6fc94
$(PYDIST_PYCDIR)/./_sysconfigdata_$(PYTHON_ABIFL)_$(PYTHON_PLATFORM)_.py:
9ef55b
		mkdir -p $(PYDIST_PYCDIR)
8399f9
		printf 'build_time_vars = {\n\t%s: %s\n}\n' \
8399f9
			"'VERSION'" "'"$(PYTHON_MAJOR).$(PYTHON_MINOR)"'" > $@
9ef55b
9ef55b
$(PYCGEN_CFGDAT): $(PYCOMPILE_DIR)/tree.tag
8399f9
		printf 'build_time_vars = {\n\t%s: %s\n}\n' \
8399f9
			"'VERSION'" "'"$(PYTHON_MAJOR).$(PYTHON_MINOR)"'" > $@
9ef55b
9ef55b
$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./%.py: $(SOURCE_DIR)/Lib/%.py $(PYCOMPILE_DIR)/tree.tag
9ef55b
		PYCOPY_PYTHON=$(PYCOMPILE) \
9ef55b
		PYCOPY_PREFIX=$(PYCOMPILE_PREFIX) \
9ef55b
		PYCOPY_DSTDIR=$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR) \
9ef55b
		$(PYCOPY) $<
9ef55b
9ef55b
$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./encodings/%.py: $(SOURCE_DIR)/Lib/encodings/%.py $(PYCOMPILE_DIR)/tree.tag
9ef55b
		PYCOPY_PYTHON=$(PYCOMPILE) \
9ef55b
		PYCOPY_PREFIX=$(PYCOMPILE_PREFIX) \
9ef55b
		PYCOPY_DSTDIR=$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/encodings \
9ef55b
		$(PYCOPY) $<
9ef55b
9ef55b
$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./importlib/%.py: $(SOURCE_DIR)/Lib/importlib/%.py $(PYCOMPILE_DIR)/tree.tag
9ef55b
		PYCOPY_PYTHON=$(PYCOMPILE) \
9ef55b
		PYCOPY_PREFIX=$(PYCOMPILE_PREFIX) \
9ef55b
		PYCOPY_DSTDIR=$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/importlib \
9ef55b
		$(PYCOPY) $<
9ef55b
9ef55b
$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./collections/%.py: $(SOURCE_DIR)/Lib/collections/%.py $(PYCOMPILE_DIR)/tree.tag
9ef55b
		PYCOPY_PYTHON=$(PYCOMPILE) \
9ef55b
		PYCOPY_PREFIX=$(PYCOMPILE_PREFIX) \
9ef55b
		PYCOPY_DSTDIR=$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/collections \
9ef55b
		$(PYCOPY) $<
9ef55b
9ef55b
$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/./urllib/%.py: $(SOURCE_DIR)/Lib/urllib/%.py $(PYCOMPILE_DIR)/tree.tag
9ef55b
		PYCOPY_PYTHON=$(PYCOMPILE) \
9ef55b
		PYCOPY_PREFIX=$(PYCOMPILE_PREFIX) \
9ef55b
		PYCOPY_DSTDIR=$(PYCOMPILE_DIR)/$(PYDIST_PYCDIR)/urllib \
9ef55b
		$(PYCOPY) $<
9ef55b
f14fce
$(PYDIST_PYCDIR)/./lib2to3/tests/data/%.pyx: $(PYCOMPILE_DIR)/tree.tag
f14fce
$(PYDIST_PYCDIR)/./lib2to3/tests/data/%.pyx: $(PYDIST_PYCDIR)/./lib2to3/tests/data/%.py
f14fce
		touch $@
f14fce
9ef55b
PYCGEN_SRCS = \
9ef55b
	$(PYCGEN_CFGDAT) \
9ef55b
	$(PYCGEN_PYSRCS) \
9ef55b
	$(PYCGEN_PYENCS) \
9ef55b
	$(PYCGEN_PYIMPS) \
9ef55b
	$(PYCGEN_PYCOLS) \
9ef55b
	$(PYCGEN_PYURLS) \
9ef55b
9ef55b
%.pyx: %.py	$(PYCOMPILE) $(PYCGEN_SRCS)
9ef55b
		PYCGEN_PYTHON=$(PYCGEN_PYTHON) \
9ef55b
		$(PYCGEN) -m py_compile $<
9ef55b
		touch $@
9ef55b
9ef55b
PYCGEN_OBJS   = $(PYDIST_PY_SRCS:%.py=%.pyx)
9ef55b
9ef55b
pycgen-deps:	$(PYCGEN_SRCS)
9ef55b
9ef55b
pycgen-objs:	$(PYCGEN_OBJS)
9ef55b
9ef55b
all:		pycgen-objs
9ef55b
9ef55b
pycgen-objs-clean:
9ef55b
	rm -f $(PYCGEN_PYSRCS)
9ef55b
	rm -f $(PYCGEN_PYENCS)
9ef55b
	rm -f $(PYCGEN_PYIMPS)
9ef55b
	rm -f $(PYCGEN_PYCOLS)
9ef55b
	rm -f $(PYCGEN_CFGDAT)
9ef55b
	rm -f $(PYCGEN_OBJS)
9ef55b
9ef55b
clean:	pycgen-objs-clean
9ef55b
9ef55b
.PHONY:	pycgen-deps
9ef55b
.PHONY:	pycgen-objs
9ef55b
.PHONY:	pycgen-objs-clean