PYCOMPILE_DIR = build.pycompile PYCOMPILE_CFGHOST = $(NATIVE_CFGHOST) PYCOMPILE_PREFIX = $(CURDIR)/$(PYCOMPILE_DIR) PYCOMPILE_PATH = PYCOMPILE = $(PYCOMPILE_DIR)/bin/pycompile PYCOMPILE_APP_SRCS = $(APP_SRCS) PYCOMPILE_CONFIG_SRCS = $(CONFIG_DEFAULT_SRCS) PYCOMPILE_TAGS += $(PYCOMPILE_DIR)/tree.tag PYCOMPILE_TAGS += $(PYCOMPILE_DIR)/config.tag PYCOMPILE_CFLAGS += -std=c99 PYCOMPILE_CFLAGS += -I$(PYCOMPILE_DIR)/build PYCOMPILE_CFLAGS += -I$(PROJECT_DIR)/profiles PYCOMPILE_CFLAGS += -I$(PROJECT_DIR)/project/variants/$(PYTHON_MAJOR).$(PYTHON_MINOR).$(PYTHON_MICRO) PYCOMPILE_CFLAGS += -I$(SOURCE_DIR)/Include PYCOMPILE_CFLAGS += -I$(SOURCE_DIR)/Modules/_decimal/libmpdec PYCOMPILE_CFLAGS += -DPY_FOR_PYCOMPILE PYCOMPILE_CFLAGS += -DVPATH=\"$(SOURCE_DIR)\" PYCOMPILE_CFLAGS += -DVERSION=\"$(PYTHON_VER)\" PYCOMPILE_CFLAGS += -DPLATFORM=\"$(NATIVE_OS)\" PYCOMPILE_CFLAGS += -DPREFIX=\"$(PYCOMPILE_PREFIX)\" PYCOMPILE_CFLAGS += -DEXEC_PREFIX=\"$(PYCOMPILE_PREFIX)\" PYCOMPILE_CFLAGS += -DPYTHONPATH=\"$(PYCOMPILE_PATH)\" PYCOMPILE_CFLAGS += -DSOABI=\"$(PYTHON_SOABI)\" PYCOMPILE_CFLAGS += -DABIFLAGS=\"$(PYTHON_ABIFL)\" PYCOMPILE_CFLAGS += -D_PYTHONFRAMEWORK=\"\" PYCOMPILE_CFLAGS += $(NATIVE_CFLAGS) PYCOMPILE_LDFLAGS += -lreadline -lm -lutil -lpthread PYCOMPILE_LDFLAGS += $(NATIVE_LDFLAGS) PYCOMPILE_LDFLAGS += -lreadline -lm -lutil -lpthread $(PYCOMPILE_DIR)/tree.tag: mkdir -p $(PYCOMPILE_DIR)/bin mkdir -p $(PYCOMPILE_DIR)/lib mkdir -p $(PYCOMPILE_DIR)/core mkdir -p $(PYCOMPILE_DIR)/core/Modules mkdir -p $(PYCOMPILE_DIR)/core/Modules/_io mkdir -p $(PYCOMPILE_DIR)/core/Objects mkdir -p $(PYCOMPILE_DIR)/core/Parser mkdir -p $(PYCOMPILE_DIR)/core/Python mkdir -p $(PYCOMPILE_DIR)/core/Programs mkdir -p $(PYCOMPILE_DIR)/pyext mkdir -p $(PYCOMPILE_DIR)/pyext/obj mkdir -p $(PYCOMPILE_DIR)/pyext/obj/_decimal mkdir -p $(PYCOMPILE_DIR)/pyext/obj/_decimal/libmpdec mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME) mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/collections mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/encodings mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/importlib mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/urllib mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/lib-dynload mkdir -p $(PYCOMPILE_DIR)/build touch $(PYCOMPILE_DIR)/tree.tag ifeq ($(PYCOMPILE_CFGSTEP),) $(PYCOMPILE_DIR)/config.tag: $(MAKE) PYCOMPILE_CFGSTEP=yes \ PYCOMPILE_CFGHOST=$(PYCOMPILE_CFGHOST) \ CFGHOST=$(PYCOMPILE_CFGHOST) \ $(PYCOMPILE_DIR)/config.tag else $(PYCOMPILE_DIR)/config.tag: mkdir -p $(PYCOMPILE_DIR)/build cp -p $(PROJECT_DIR)/config/$(CFGHOST)/config.c $(PYCOMPILE_DIR)/build/ cp -p $(PROJECT_DIR)/config/$(CFGHOST)/pyconfig.h $(PYCOMPILE_DIR)/build/ touch $(PYCOMPILE_DIR)/config.tag touch $(PYCOMPILE_DIR)/build/config.c touch $(PYCOMPILE_DIR)/build/pyconfig.h endif $(PYCOMPILE_DIR)/core/%.o: PYCOMPILE_CFLAGS += -DPy_BUILD_CORE $(PYCOMPILE_DIR)/build/config.c: $(PYCOMPILE_DIR)/config.tag $(PYCOMPILE_DIR)/build/pyconfig.h: $(PYCOMPILE_DIR)/config.tag $(PYCOMPILE_DIR)/core/Modules/config.o: $(PYCOMPILE_DIR)/build/config.c $(ALL_HEADERS) $(PYCOMPILE_TAGS) $(NATIVE_CC) -c -o $@ $< $(PYCOMPILE_CFLAGS) $(PYCOMPILE_DIR)/core/%.o: $(SOURCE_DIR)/%.c $(ALL_HEADERS) $(PYCOMPILE_TAGS) $(NATIVE_CC) -c -o $@ $< $(PYCOMPILE_CFLAGS) $(PYCOMPILE_DIR)/pyext/obj/%.o: $(SOURCE_DIR)/Modules/%.c $(ALL_HEADERS) $(PYCOMPILE_TAGS) $(NATIVE_CC) -c -o $@ $< $(PYCOMPILE_CFLAGS) PYCOMPILE_PYEXT_SRCS = \ $(PYEXT_DECIMAL_SRCS) \ $(PYEXT_ELEMENTTREE_SRCS) \ $(PYEXT_HEAPQ_SRCS) \ $(PYEXT_POSIXSUBPROCESS_SRCS) \ $(PYEXT_MATH_SRCS) \ $(PYEXT_READLINE_SRCS) \ $(PYEXT_SELECT_SRCS) \ $(PYEXT_TERMIOS_SRCS) \ PYCOMPILE_SRCS = \ $(PYCOMPILE_APP_SRCS) \ $(PYCOMPILE_CONFIG_SRCS) \ $(PYCOMPILE_PYEXT_SRCS) \ $(MODULE_SRCS) \ $(OBJECT_SRCS) \ $(PARSER_SRCS) \ $(PYTHON_SRCS) PYCOMPILE_OBJS = $(PYCOMPILE_SRCS:%.c=$(PYCOMPILE_DIR)/%.o) ifeq ($(PYCOMPILE_CFGSTEP),) $(PYCOMPILE): $(PYCOMPILE_OBJS) $(MAKE) PYCOMPILE_CFGSTEP=yes \ PYCOMPILE_CFGHOST=$(PYCOMPILE_CFGHOST) \ CFGHOST=$(PYCOMPILE_CFGHOST) \ pycompile else $(PYCOMPILE): $(PYCOMPILE_OBJS) $(NATIVE_CC) -o $@ $^ $(PYCOMPILE_LDFLAGS) endif pycompile: $(PYCOMPILE) pycompile-objs: $(PYCOMPILE_OBJS) pycompile-clean-config: rm -f $(PYCOMPILE_DIR)/tree.tag rm -f $(PYCOMPILE_DIR)/config.tag rm -f $(PYCOMPILE_DIR)/build/config.c rm -f $(PYCOMPILE_DIR)/build/pyconfig.h pycompile-clean-objs: rm -f $(PYCOMPILE_OBJS) pycompile-clean-pycompile: rm -f $(PYCOMPILE) pycompile-clean:pycompile-clean-objs pycompile-clean:pycompile-clean-config pycompile-clean:pycompile-clean-pycompile clean: pycompile-clean-objs clean: pycompile-clean-config clean: pycompile-clean-pycompile .PHONY: pycompile pycompile-objs pycompile-clean pycompile-clean-objs pycompile-clean-config pycompile-clean-pycompile