#
# Bob PoFang Wei (c) 2009
# boabawhale@gmail.com
#

CC = gcc
CCFLAGS += -g -Wall -O3 -DNDEBUG
CCLINKFLAGS += -lm

PROG = vsR2
OBJS = main.o \
Viewshed.o \
Viewshed_R2.o \
Asc.o \
DataGrid.o \
DataGrid_BILINEAR_INTERPOLATION.o \
Geometry.o \
rtimer.o \

RM = /bin/rm -f

default: $(PROG)


vsR2: $(OBJS)
	$(CC) $(CCFLAGS) $(CCLINKFLAGS) $(OBJS) -o $@


main.o: main.c Viewshed.h Viewshed_R2.h rtimer.h
	$(CC) $(CCFLAGS) -c $< -o $@

Viewshed.o: Viewshed.c Viewshed.h Asc.h
	$(CC) $(CCFLAGS) -c $< -o $@

Viewshed_R2.o: Viewshed_R2.c Viewshed_R2.h Viewshed.h Geometry.h
	$(CC) $(CCFLAGS) -c $< -o $@

Asc.o: Asc.c Asc.h DataGrid.h
	$(CC) $(CCFLAGS) -c $< -o $@

DataGrid.o: DataGrid.c DataGrid.h
	$(CC) $(CCFLAGS) -c $< -o $@

DataGrid_BILINEAR_INTERPOLATION.o: DataGrid_BILINEAR_INTERPOLATION.c DataGrid_BILINEAR_INTERPOLATION.h
	$(CC) $(CCFLAGS) -c $< -o $@

Geometry.o: Geometry.c Geometry.h
	$(CC) $(CCFLAGS) -c $< -o $@

rtimer.o: rtimer.c rtimer.h
	$(CC) $(CCFLAGS) -c $< -o $@


tags: Makefile *.h *.c
	etags Makefile *.h *.c
	ctags Makefile *.h *.c


clean:
	$(RM) $(PROG) $(OBJS)