From 6dc580e25dd8cf717a351c3a72b8c1dcf79062e0 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 16 Dec 2018 10:34:26 -0500 Subject: project: added rules and definitions for building python's extension modules. --- project/extras.mk | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'project/extras.mk') diff --git a/project/extras.mk b/project/extras.mk index 8962e1b..dcac128 100644 --- a/project/extras.mk +++ b/project/extras.mk @@ -23,3 +23,27 @@ else COMMON_SRCS += $(DYNLOAD_SRCS) CFLAGS_CONFIG += -DHAVE_DYNAMIC_LOADING -DSOABI=\"$(PYTHON_SOABI)\" endif + +# extension objects +pyext/obj/%.lo: $(SOURCE_DIR)/Modules/%.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_SHARED) + +pyext/obj/%.o: $(SOURCE_DIR)/Modules/%.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_STATIC) + +# dynamically loaded extension module +pyext/%$(PYTHON_SOEXT): LDFLAGS_SONAME = +pyext/%$(PYTHON_SOEXT): LDFLAGS_DSOEXT = -Wl,-soname -Wl,$(subst pyext/,,$@) +pyext/%$(PYTHON_SOEXT): LDFLAGS_DYNEXT = $(LDFLAGS_DSOEXT) $(LDFLAGS_PYEXT) + +pyext/%$(PYTHON_SOEXT): $(DSO_REF_SOLINK) + $(CC) -shared -o $@ $^ $(LDFLAGS_SHARED) $(LDFLAGS_DYNEXT) \ + -l$(PACKAGE) $(LDFLAGS_DEPS) + +# statically linked extensions +pyext/%$(OS_ARCHIVE_EXT): + rm -f $@ + $(AR) rcs $@ $^ + +# build rules for python's extension modules +include $(PROJECT_DIR)/project/pyexts.mk -- cgit v1.2.3