diff --git a/configure/CONFIG b/configure/CONFIG index 8426797..9e5da19 100644 --- a/configure/CONFIG +++ b/configure/CONFIG @@ -21,7 +21,8 @@ INSTALL_LOCATION = $(TOP) # As soon as python3 is the default configuration # PYTHON_CONFIG=python3-config -PYTHON_CONFIG=python-config +#PYTHON_CONFIG=python-config +PYTHON_CONFIG=/epics/iocs/ioc-hkl/.pixi/envs/default/bin/python3.12-config # CONFIG_SITE files contain other build configuration settings include $(TOP)/configure/CONFIG_SITE diff --git a/configure/Makefile b/configure/Makefile index ba26e83..eae4d4b 100644 --- a/configure/Makefile +++ b/configure/Makefile @@ -3,19 +3,33 @@ TOP=.. include $(TOP)/configure/CONFIG include $(TOP)/configure/CONFIG_SITE -TARGETS = $(CONFIG_TARGETS) CONFIG.PyDevice +TARGETS = $(CONFIG_TARGETS) CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) +CONFIGS += CONFIG.PyDevice include $(TOP)/configure/RULES # Starting with Python 3.8, python-config needs --embed flag ifeq (,$(findstring embed,$(shell $(PYTHON_CONFIG) --help))) - PYDEV_SYS_PROD_LIBS = $(patsubst -l%,%,$(filter -l%,$(shell $(PYTHON_CONFIG) --ldflags))) + PYDEV_LDFLAGS_RAW = $(shell $(PYTHON_CONFIG) --ldflags) else - PYDEV_SYS_PROD_LIBS = $(patsubst -l%,%,$(filter -l%,$(shell $(PYTHON_CONFIG) --ldflags --embed))) + PYDEV_LDFLAGS_RAW = $(shell $(PYTHON_CONFIG) --ldflags --embed) endif -PYDEV_USR_CXXFLAGS = $(filter -I%,$(shell $(PYTHON_CONFIG) --cflags)) + +# Split ldflags into -L (dirs) and -l (libs) +PYDEV_SYS_PROD_LIBS = $(patsubst -l%,%,$(filter -l%,$(PYDEV_LDFLAGS_RAW))) +PYDEV_USR_LDFLAGS = $(filter -L%,$(PYDEV_LDFLAGS_RAW)) + +PYDEV_USR_CXXFLAGS = $(filter -I%,$(shell $(PYTHON_CONFIG) --cflags)) CONFIG.PyDevice: - @echo "SYS_PROD_LIBS += $(PYDEV_SYS_PROD_LIBS)" > $(TOP)/configure/$@ - @echo "USR_CXXFLAGS += $(PYDEV_USR_CXXFLAGS)" >> $(TOP)/configure/$@ + @echo "# Generated by configure/Makefile using $(PYTHON_CONFIG)" > $@ + @echo "SYS_PROD_LIBS += $(PYDEV_SYS_PROD_LIBS)" >> $@ + @echo "USR_LDFLAGS += $(PYDEV_USR_LDFLAGS)" >> $@ + @echo "USR_CXXFLAGS += $(PYDEV_USR_CXXFLAGS)" >> $@ + +clean: clean_pydevice + +clean_pydevice: + $(RM) CONFIG.PyDevice +