
LIBS=qarch

#PREFIX=/usr/share/OxMetrics7/ox/lib
PREFIX=../
OXPREFIX=/usr/share/OxMetrics7/ox

CC=gcc

OBJ=obj
SRC=src
BIN=bin
LIB=lib
INC=include

DEFGSL=-D_GSL
LIBGSL=-lgsl
INCGSL=-I.
LIBDIRGSL=/usr/lib/x86_64-linux-gnu/

SOURCES=$(wildcard $(SRC)/*.c)
OBJECTS=$(SOURCES:$(SRC)%.c=$(OBJ)%.o)
LIBFILES=$(addprefix lib, $(LIBS))

CFLAGS+=-Wall -fPIC $(DEFGSL) -DTRC -DMIN_TRC -UEXT_TRC -UMINIMUM_DISTANCE -DCOMPOSITE -UMULTITHREADING -DGRID1D -DSQP -g -c
DYNLINKFLAGS=-pthread -shared -Wl,-soname,$@.so
LFLAGS=-L$(LIB)/ -L$(OXPREFIX)/dev -Wl,-rpath,$(shell pwd)/$(LIB),-rpath,$(OXPREFIX)/dev $(addprefix -l, $(LIBS)) -loxwin 
INCLUDES=-I$(INC)/ -I$(OXPREFIX)/dev $(INCGSL)

all: $(LIBFILES) 

$(LIBFILES): $(OBJECTS)
	$(CC) $(DYNLINKFLAGS) $^ $(LIBDIRGSL)/libgsl.a -o $(LIB)/$@.so

$(OBJECTS): $(OBJ)/%.o : $(SRC)/%.c
	$(CC) $(CFLAGS) $^ $(INCLUDES) -o $@

clean:
	rm -vf $(OBJECTS)  $(addprefix $(LIB)/, $(addsuffix .so, $(LIBFILES)))

install:
	cp  $(addprefix $(LIB)/, $(addsuffix .so, $(LIBFILES))) $(PREFIX)
