.PHONY: clean #binaries PYUIC = pyuic5 PYRCC = pyrcc5 #Directory with ui files RESOURCE_DIR = src/resources/_ui #Directory for compiled resources PYQT_DIR = src/gui_qt/_py #UI files to compile, uses every *.ui found in RESOURCE_DIR UI_FILES = $(foreach dir, $(RESOURCE_DIR), $(notdir $(wildcard $(dir)/*.ui))) PYQT_UI = $(UI_FILES:%.ui=$(PYQT_DIR)/%.py) SVG_FILES = $(foreach dir, $(RCC_DIR), $(notdir $(wildcard $(dir)/*.svg))) PNG_FILES = $(SVG_FILES:%.svg=$(RCC_DIR)/%.png) CC = gcc CFLAGS = -O2 -fPIC LDFLAGS = -shared C_DIR = src/nmreval/clib all : ui compile ui : $(PYQT_UI) rcc : $(PNG_FILES) # only one C file at the moment compile : $(C_DIR)/integrate.c $(CC) $(LDFLAGS) $(CFLAGS) -o $(C_DIR)/integrate.so $< $(COMPILED_DIR)/%.py : $(RESOURCE_DIR)/%.ui $(PYUIC) $< -o $@ $(RCC_DIR)/%.png : $(RCC_DIR)/%.svg convert -background none $< $@ $(PYRCC) $(RCC_DIR)/images.qrc -o $(COMPILED_DIR)/images_rc.py clean: find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + find . -name '*~' -exec rm -f {} + find . -name '__pycache__' -exec rm -fr {} +