# where to install:
PREFIX=/usr/local
INCDIR=$(DESTDIR)$(inst_root)$(PREFIX)/include/libusearch
LIBDIR=$(DESTDIR)$(inst_root)$(PREFIX)/lib

#CFLAGS_CFG = -O3
CFLAGS_CFG= -Wall -g
CFLAGS = $(CFLAGS_CFG) -I.. -I../src_3rd $(CFLAGS_LIBUSEARCH)

LIBA = libusearch.a
OBJS = a_star_impl.o

all: tester libusearch.a

$(LIBA): $(OBJS)
	-rm $(LIBA)
	ar ru $(LIBA) $(OBJS)

a_star_impl.o: a_star_api.h a_star_impl.h common.h

tester: tester.o ../src_3rd/genprique/fibheap.o

tester.o: tester.c a_star_api.h a_star_impl.h common.h

install_: $(LIBA)
	mkdir -p $(LIBDIR) $(INCDIR)
	$(CP) $(PWD)/common.h               $(INCDIR)/common.h
	$(CP) $(PWD)/a_star_api.h           $(INCDIR)/a_star_api.h
	$(CP) $(PWD)/a_star_impl.h          $(INCDIR)/a_star_impl.h
	$(CP) $(PWD)/$(LIBA)                $(LIBDIR)/$(LIBA)

uninstall:
	-rm $(INCDIR)/*_api.h $(INCDIR)/*_impl.h $(INCDIR)/common.h $(LIBDIR)/$(LIBA)
	-rmdir $(INCDIR)

install:
	make install_ CP="cp"

linstall:
	make install_ CP="ln -s"

clean:
	-rm $(LIBA) $(OBJS) tester tester.o
