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

CFLAGS_CFG=-O3
#CFLAGS_CFG=-Wall -g
CFLAGS = $(CFLAGS_CFG) -I.. $(CFLAGS_genprique)

OBJSA=fibheap.o
LIBA=genprique.a
PWD=`pwd`

all: $(LIBA) main

fibheap.o: fibheap.c fibheap.h
	$(CC) $(CFLAGS) -c fibheap.c -o fibheap.o

$(LIBA): $(OBJSA)
	touch $(LIBA)
	rm $(LIBA)
	ar ru $(LIBA) $(OBJSA)

main: main.o fibheap.o
	$(CC) $(LDFLAGS) -o main main.o fibheap.o

main.o: main.c fibheap.h
	$(CC) $(CFLAGS) -c main.c -o main.o

test: main
	./main > main.out
	diff main.ref main.out

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

uninstall:
	-rm $(INCDIR)/fibheap.h $(LIBDIR)/$(LIBA)
	-rmdir $(INCDIR)

install:
	make install_ CP="cp"

linstall:
	make install_ CP="ln -s"

clean:
	-rm $(LIBA) $(OBJSA)

