summaryrefslogtreecommitdiff
path: root/project/pycompile.mk
diff options
context:
space:
mode:
Diffstat (limited to 'project/pycompile.mk')
-rw-r--r--project/pycompile.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/project/pycompile.mk b/project/pycompile.mk
index 6bb61dc..6568792 100644
--- a/project/pycompile.mk
+++ b/project/pycompile.mk
@@ -15,6 +15,7 @@ PYCOMPILE_TAGS += $(PYCOMPILE_DIR)/config.tag
PYCOMPILE_CFLAGS += -I$(PYCOMPILE_DIR)/build
PYCOMPILE_CFLAGS += -I$(PROJECT_DIR)/profiles
PYCOMPILE_CFLAGS += -I$(SOURCE_DIR)/Include
+PYCOMPILE_CFLAGS += -DPY_FOR_PYCOMPILE
PYCOMPILE_CFLAGS += -DVPATH=\"$(SOURCE_DIR)\"
PYCOMPILE_CFLAGS += -DVERSION=\"$(PYTHON_VER)\"
PYCOMPILE_CFLAGS += -DPLATFORM=\"$(NATIVE_OS)\"
@@ -22,9 +23,15 @@ PYCOMPILE_CFLAGS += -DPREFIX=\"$(PYCOMPILE_PREFIX)\"
PYCOMPILE_CFLAGS += -DEXEC_PREFIX=\"$(PYCOMPILE_PREFIX)\"
PYCOMPILE_CFLAGS += -DPYTHONPATH=\"$(PYCOMPILE_PATH)\"
+PYCOMPILE_LDFLAGS += -lreadline
+PYCOMPILE_LDFLAGS += $(LDFLAGS_NCURSES_STATIC)
+
$(PYCOMPILE_DIR)/tree.tag:
mkdir -p $(PYCOMPILE_DIR)/bin
mkdir -p $(PYCOMPILE_DIR)/lib
+ mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)
+ mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/encodings
+ mkdir -p $(PYCOMPILE_DIR)/lib/$(NICKNAME)/lib-dynload
mkdir -p $(PYCOMPILE_DIR)/build
mkdir -p $(PYCOMPILE_DIR)/Modules
mkdir -p $(PYCOMPILE_DIR)/Objects
@@ -68,8 +75,21 @@ $(PYCOMPILE_DIR)/Python/%.o: $(SOURCE_DIR)/Python/%.c $(ALL_HEADERS) $(PYCOMPILE
$(NATIVE_CC) -c -o $@ $< $(PYCOMPILE_CFLAGS)
+PYCOMPILE_PYEXT_SRCS = \
+ $(PYEXT_COLLECTIONS_SRCS) \
+ $(PYEXT_FUNCTOOLS_SRCS) \
+ $(PYEXT_HEAPQ_SRCS) \
+ $(PYEXT_LOCALE_SRCS) \
+ $(PYEXT_ITERTOOLS_SRCS) \
+ $(PYEXT_OPERATOR_SRCS) \
+ $(PYEXT_READLINE_SRCS) \
+ $(PYEXT_STROP_SRCS) \
+ $(PYEXT_UNICODEDATA_SRCS) \
+
+
PYCOMPILE_APP_OBJS = $(PYCOMPILE_APP_SRCS:Modules/%.c=$(PYCOMPILE_DIR)/Modules/%.o)
PYCOMPILE_CONFIG_OBJS = $(PYCOMPILE_CONFIG_SRCS:Modules/%.c=$(PYCOMPILE_DIR)/Modules/%.o)
+PYCOMPILE_PYEXT_OBJS = $(PYCOMPILE_PYEXT_SRCS:Modules/%.c=$(PYCOMPILE_DIR)/Modules/%.o)
PYCOMPILE_MODULE_OBJS = $(MODULE_SRCS:Modules/%.c=$(PYCOMPILE_DIR)/Modules/%.o)
PYCOMPILE_OBJECT_OBJS = $(OBJECT_SRCS:Objects/%.c=$(PYCOMPILE_DIR)/Objects/%.o)
PYCOMPILE_PARSER_OBJS = $(PARSER_SRCS:Parser/%.c=$(PYCOMPILE_DIR)/Parser/%.o)
@@ -82,10 +102,24 @@ PYCOMPILE_OBJS = \
$(PYCOMPILE_OBJECT_OBJS) \
$(PYCOMPILE_PARSER_OBJS) \
$(PYCOMPILE_PYTHON_OBJS) \
+ $(PYCOMPILE_PYEXT_OBJS) \
+
+
+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)