.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 {} +