ifeq ($(CC),gcc)
	LFLAGS = -fopenmp 
else
	LFLAGS = 
endif

SOURCE_DIR := src
ENV_DIR := $(abspath .)
OBJ_DIR := $(ENV_DIR)/obi_objdir
LIB_DIR := $(ENV_DIR)/obi_libdir

SOURCE_FILES = $(SOURCE_DIR)/libecoPCR/libapat/*.c $(SOURCE_DIR)/libecoPCR/libthermo/*.c $(SOURCE_DIR)/libecoPCR/*.c $(SOURCE_DIR)/libjson/*.c $(SOURCE_DIR)/*.c
OBJ_FILES = $(OBJ_DIR)/*.o
DYN_LIB_FILES = $(LIB_DIR)/libobi3.so

all: $(DYN_LIB_FILES)

$(LIB_DIR):
	mkdir -p $(LIB_DIR)

$(OBJ_DIR):
	mkdir -p $(OBJ_DIR)

$(DYN_LIB_FILES): $(OBJ_FILES) | $(LIB_DIR)
	$(CC) -shared -o $@ $^

$(OBJ_FILES): | $(OBJ_DIR)
	$(CC) $(LFLAGS) -fpic -c $(SOURCE_FILES)
	mv *.o $(OBJ_DIR)

clean:
	rm -rf $(LIB_DIR)
	rm -rf $(OBJ_DIR)