summaryrefslogtreecommitdiff
path: root/project/pycompile.mk
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-12-05 00:49:28 -0500
committermidipix <writeonce@midipix.org>2018-12-06 20:58:31 -0500
commitec618c98e8afdf2e5083a8dd045953cdc43781e1 (patch)
tree60af3c19e6498ecdbe8ec031c1cfed9d6b1bdd34 /project/pycompile.mk
parent05a469061a9553e0fe2ffdf2b9833394f28192f5 (diff)
downloadsbpython2-ec618c98e8afdf2e5083a8dd045953cdc43781e1.tar.bz2
sbpython2-ec618c98e8afdf2e5083a8dd045953cdc43781e1.tar.xz
project: pycompile: extend to allow .pyc generation of all pydist scripts.
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)