TOP_DIR = ../


## includes

include $(TOP_DIR)/config.mk


## target

TARGET = aqua-gen


## objects

OBJ = main.o file.o file_phillips.o options_local.o surface.o \
      surface_phill_ugauss.o


## LDFLAGS

LOCAL_LIB = $(LIBAQUA) \
            $(LIB_DIR)/exceptions.o $(LIB_DIR)/get_file_name.o \
            $(LIB_DIR)/getopt.o $(LIB_DIR)/options.o \
            $(LIB_DIR)/options_getopt.o $(LIB_DIR)/options_libaqua.o 

LDFLAGS  += $(LOCAL_LIB)


## main rules


all: $(TARGET)


$(TARGET): $(OBJ) $(LOCAL_LIB)
	$(CXX) $(LDFLAGS) -o $(TARGET) $(OBJ)


## objects rules

file.o: file.cpp file.h
file_phillips.o: file_phillips.cpp file_phillips.h file.h
main.o: main.cpp file_phillips.h file.h options_local.h ../lib/options.h \
  ../lib/options_libaqua.h ../lib/options_getopt.h ../lib/getopt.h \
  surface_phill_ugauss.h surface.h ../lib/exceptions.h
options_local.o: options_local.cpp options_local.h ../lib/options.h \
  ../lib/options_libaqua.h ../lib/options_getopt.h ../lib/getopt.h \
  ../include/version.h
surface.o: surface.cpp surface.h file.h ../src/aqua_surface.h
surface_phill_ugauss.o: surface_phill_ugauss.cpp surface_phill_ugauss.h \
  surface.h file_phillips.h file.h ../src/aqua_surface_phill_ugauss.h \
  ../src/aqua_surface_phillips.h ../src/aqua_surface.h


## other rules

clean:
	$(RM) $(OBJ) $(TARGET)


.PHONY: all clean
