# CORRECTIONS: need to reset these variables to allow for no window version
CC_NW=$(CC)
SRC_DIR=$(SRC)/
LSDROOT=.
INCLUDE=-I$(PATH_HEADER) -I$(SRC)
LIBS_NW=$(LIBS) -lpthread
SWITCH_CC_NW=$(GLOBAL_CC) $(SWITCH_CC) -O3 -static-libstdc++ -static-libgcc
TARGET_NW=lsd_gnuNW

#Link all together

$(TARGET_NW)$(EXT): $(FUN).obj $(SRC_DIR)main_gnuwin.obj $(SRC_DIR)file.obj \
$(SRC_DIR)util.obj $(SRC_DIR)object.obj $(SRC_DIR)variab.obj $(SRC_DIR)lsdmain.obj \
$(SRC_DIR)nets.obj $(SRC_DIR)gis.obj $(SRC_DIR)abmat.obj

	$(CC_NW) $(SWITCH_CC_NW) $(FUN).obj $(SRC_DIR)file.obj $(SRC_DIR)main_gnuwin.obj \
	$(SRC_DIR)util.obj $(SRC_DIR)object.obj $(SRC_DIR)variab.obj $(SRC_DIR)lsdmain.obj \
	$(SRC_DIR)nets.obj $(SRC_DIR)gis.obj $(SRC_DIR)abmat.obj \
	$(SWITCH_CC_LNK) -L$(PATH_LIB) $(LIBS_NW) -o $(TARGET_NW)


#Link single sources

$(SRC_DIR)file.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt $(SRC_DIR)file.cpp \
$(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)file.cpp -o $(SRC_DIR)file.obj $(INCLUDE)


$(SRC_DIR)main_gnuwin.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)main_gnuwin.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)main_gnuwin.cpp -o $(SRC_DIR)main_gnuwin.obj \
	$(INCLUDE)


$(SRC_DIR)util.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt $(SRC_DIR)util.cpp \
$(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)util.cpp -o $(SRC_DIR)util.obj $(INCLUDE)


$(SRC_DIR)variab.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)variab.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)variab.cpp -o $(SRC_DIR)variab.obj $(INCLUDE)


$(SRC_DIR)object.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)object.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)object.cpp -o $(SRC_DIR)object.obj $(INCLUDE)


$(SRC_DIR)lsdmain.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)lsdmain.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)lsdmain.cpp -o $(SRC_DIR)lsdmain.obj $(INCLUDE)


$(SRC_DIR)report.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)report.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)report.cpp -o $(SRC_DIR)report.obj $(INCLUDE)


$(SRC_DIR)nets.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)nets.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)nets.cpp -o $(SRC_DIR)nets.obj $(INCLUDE)


$(SRC_DIR)gis.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)gis.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)gis.cpp -o $(SRC_DIR)gis.obj $(INCLUDE)


$(SRC_DIR)abmat.obj: $(SRC_DIR)choose.h $(SRC_DIR)system_options.txt \
$(SRC_DIR)abmat.cpp $(SRC_DIR)decl.h

	$(CC_NW) $(SWITCH_CC_NW) -c $(SRC_DIR)abmat.cpp -o $(SRC_DIR)abmat.obj $(INCLUDE)


$(FUN).obj: $(FUN).cpp $(FUN_EXTRA) model_options.txt $(SRC_DIR)choose.h \
$(SRC_DIR)decl.h $(SRC_DIR)check.h $(SRC_DIR)fun_head.h $(SRC_DIR)fun_head_fast.h

	$(CC_NW) $(SWITCH_CC_NW) $(INCLUDE) -c $(SRC_DIR)abmat.cpp -o $(SRC_DIR)abmat.obj


$(FUN).obj: $(FUN).cpp $(FUN_EXTRA) model_options.txt $(SRC_DIR)choose.h \
$(SRC_DIR)decl.h $(SRC_DIR)check.h $(SRC_DIR)fun_head.h $(SRC_DIR)fun_head_fast.h

	$(CC_NW) $(SWITCH_CC_NW) $(INCLUDE) -c $(FUN).cpp -o $(FUN).obj


clean:
	rm $(SRC_DIR)*.obj $(FUN).obj $(TARGET_NW)*
