#CFLAGS = -I.. -O3 -Wall -ansi -pedantic
CFLAGS = -I.. -g
OBJS = gds_char.o gds_wchar.o vti0.o vts0.o vtp0.o vtii.o
IMPL = genvector_impl.c genvector_impl.h genvector_undef.h

all: genvector.a

genvector.a: $(OBJS)
	ar ur genvector.a $(OBJS)

gds_char.o: gds_char.c gds_char.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

gds_wchar.o: gds_wchar.c gds_wchar.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

vti0.o: vti0.c vti0.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

vts0.o: vts0.c vts0.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

vtp0.o: vtp0.c vtp0.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

vtii.o: vtii.c vtii.h $(IMPL)
	$(CC) -c $(CFLAGS) $*.c -o $@

clean:
	rm $(OBJS) genvector.a 2>/dev/null ; true

include ../Makefile.conf

install_:
	mkdir -p "$(INCDIR)" "$(LIBDIR)"
	$(CP) "$(PWD)/gds_char.h" "$(INCDIR)/gds_char.h"
	$(CP) "$(PWD)/gds_wchar.h" "$(INCDIR)/gds_wchar.h"
	$(CP) "$(PWD)/genvector_impl.h" "$(INCDIR)/genvector_impl.h"
	$(CP) "$(PWD)/genvector_undef.h" "$(INCDIR)/genvector_undef.h"
	$(CP) "$(PWD)/vti0.h" "$(INCDIR)/vti0.h"
	$(CP) "$(PWD)/vtii.h" "$(INCDIR)/vtii.h"
	$(CP) "$(PWD)/genvector.a" "$(LIBDIR)/genvector.a"

uninstall:
	rm $(LIBDIR)/genvector.a
	rm $(INCDIR)/gds_*.h $(INCDIR)/genvector*.h $(INCDIR)/vt*.h

install:
	make install_ CP="cp" PWD=`pwd`

linstall:
	make install_ CP="ln -s" PWD=`pwd`

