ROOT_DIR = $(SRCDIR)
lib=${ROOT_DIR}/lib
rel=${ROOT_DIR}/lib
src=${ROOT_DIR}/src/backprop
LIB_OBJ = libbp.a libbpf.a
INTOBJ= bp.o bpfuncs.o
FLTOBJ= bpf.o bpfuncsf.o

all: int float

# this will work with fancier makes and is nice but not universal
#bp%f.o: bp%.c
#	$(CC) $(CFLAGS) -c -DFSIM -O -I${ROOT_DIR}/include -o $@ $<

.c.o:
	$(CC) $(CFLAGS) -DFSIM -c -O -I${ROOT_DIR}/include $*.c; mv $*.o $*f.o
	$(CC) $(CFLAGS) -c -O -I${ROOT_DIR}/include $*.c
	
int: libbp.a
	cp libbp.a $(lib)/libbp.a

libbp.a: $(INTOBJ)
	ar rc libbp.a $(INTOBJ)
	ranlib libbp.a

float: libbpf.a
	cp libbpf.a $(lib)/libbpf.a

libbpf.a: $(FLTOBJ)
	ar rc libbpf.a $(FLTOBJ)
	ranlib libbpf.a

$(src)/bp.c $(src)/bpfuncs.c: ${ROOT_DIR}/include/bp.h

clean: tidy
	rm -f *.o $(LIB_OBJ)
tidy:
	rm -f *~ \#*
