# Time-stamp: <96/02/07 17:13:16 mme>
# You should change the value for BACKDIR. If you do that please make sure,
# that a '#' is following the directory without spaces in between, just like
# the default setting here!

export BACKDIR	:= $(wildcard ~/backnet-0.2)#  #The BACKNET directory.

export BDIRNAME	= backnet-0.2#
export ARCHNAME = backnet-0.2.tar.gz
export LIBNAME  := lib$(BDIRNAME).a
export BINARIES = nettest fastest rsc_autotest xbm2back
export BINC		:= $(BACKDIR)/include#
export BLIB		:= $(BACKDIR)/lib#
export BSRC     := $(BACKDIR)/src/single#
export BPROG    := $(BACKDIR)/prog#
export BIND     := $(BACKDIR)/bin#
export LDFLAGS	:= -L$(BLIB) -l$(BDIRNAME) 

ifeq ($(shell uname),SunOS)
	GCCINCL := -I/usr/global/include/g++include#
	DFLAGS  := -D_WITHOUT_B_ -D_WITHOUT_SEMUN_#
	LDFLAGS += -L/usr/global/lib -lsocket -lnsl -lm -liostream
    export AR := /usr/ccs/bin/ar
else
	GCCINCL := #
	DFLAGS  := -D__LINUX__ -DMAXARRS=4000#
	LDFLAGS += -lm -liostream
endif

export CPPFLAGS	= -O2 -Wall -ggdb -I$(BINC) $(GCCINCL) $(DFLAGS) -D_WITH_ARRAY_                  #-D_DEBUG_ON_ 

export OBJECTS	= neuron.o layer.o nnet.o nnet_fast.o\
	              neuron_aa.o layer_aa.o nnet_aa.o handling.o 

export HEADERS	:= $(BINC)/backnet.h $(BINC)/net_errs.h $(BINC)/listman-t.h \
			$(BINC)/list_errs.h $(BINC)/arrman-t.h $(BINC)/dosbug.h
export SUBDIRS  = bin doc lib prog neuro include src src/single src/cliserv .

# Some useful tools ;-]. If you want to use others you have to change this.

export CC			= gcc 	# Something to compile C++ code.
export MAKE		= make		# Something to make funny things.
export TEX		= latex		# Something to write interesting things.
export TOPS	= dvips			# Something to change dvi's to ps.
export ZIPP = gzip -9 		# Something that can compress files.
export ARCH = tar cvf 		# Something that can handle archives.


all : lib demo 
world : all doc net

clean : libclean binclean netclean

distclean : clean docclean outclean errclean 
	for i in $(SUBDIRS); do rm -f $$i/*.o $$i/*~ $$i/*diff $$i/*orig \
	$$i/*rej; done
	cd bin; rm -f $(BINARIES); cd ../lib; rm -f $(LIBNAME)

archive : distclean 
	cd .. ; $(ARCH) - $(BDIRNAME)| $(ZIPP) > $(ARCHNAME)


lib : FORCE
	$(MAKE) -C lib

demo : FORCE
	$(MAKE) -C bin

net : lib
	$(MAKE) -C src/cliserv

doc : FORCE
	$(MAKE) -C doc

libclean : FORCE
	$(MAKE) -C lib clean

binclean : FORCE
	$(MAKE) -C bin clean

docclean: FORCE
	$(MAKE) -C doc clean

netclean: FORCE
	$(MAKE) -C src/cliserv clean

outclean: $(wildcard neuro/*.out)
	rm -f neuro/*.out

errclean: $(wildcard neuro/*err*)
	rm -f neuro/*err*


FORCE:
