####BEGIN_OS_CONF
#cat .simplemake//Makefile.os/Linux.flex
LEXFLAGS=$(LEXFLAG)
LEX=flex $(LEXFLAGS)
LEXLIB=-lfl
#cat .simplemake//Makefile.os/Linux.gcc
OS=Linux
OSTEXT="Using OS $(OS)"
NETFLAGS=$(NETFLAG)
GENNET=GenNet $(NETFLAGS)
YACCFLAGS=$(YACCFLAG) -y -d -v
YACC=bison $(YACCFLAGS) 
CC=gcc
CFLAGS=-D$(OS) -DLINUX -DGCC $(CFLAG)
CXX=g++
SHL_LIBS=$(LEXLIB) $(SHL_LIB)
LIBS=$(LEXLIB) $(LIB)
INCLUDE=-I. $(INCL)
AR=ar -r
SL=ld -x -shared -o
####END_OS_CONF
#######################################################
include .simplemake/Makefile.ver
include Makefile.def
#######################################################

#######################################################

all: 
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d; make all; cd ..; done
	make allthis
	@echo $(OSTEXT)
	@echo DONE

allthis: targets

nodebug: strip

production: strip

strip: all
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d; make strip;cd ..; done
	@.simplemake/striptargets $(TARGETS)
	@echo DONE

install: strip debug_install

debug_install: all
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d; make install; cd ..; done
	make install_all



clean: 
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d; make clean; cd ..; done
	make CLEANALL=0 clean_all

cleanall:
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d; make clean; cd ..; done
	make CLEANALL=1 clean_all
	

makefile: bootstrap depend

makefiles:
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d;make makefiles;cd ..; done
	@make makefile

newMakefiles:
	@DIRS=`ls */Makefile 2>/dev/null | sed -e s%/.*%%`;for d in $$DIRS; do cd $$d;newMakefile;make newMakefiles;cd ..; done
	

depend:
	@TARGETS="$(TARGETS)";export TARGETS; \
	NOCLEANT="$(NOCLEANTARGETS)";export NOCLEANT; \
	.simplemake/maketargets

dep:
	@SRC="$(SRC)";export SRC;\
	TARGET="$(TARGET)";export TARGET;\
	CPP="$(CPP)";export CPP; \
	CLEANFILE="$(CLEANFILE)";export CLEANFILE; \
	.simplemake/makedep $(DEPFILE)

bootstrap:
	@.simplemake/makebootstrap

srcdistZ:
	@make srcdist GZ="Z"


####ADDBYMAKEDEP

doc_cxx.lex.c: doc_cxx.lex 
	$(LEX) doc_cxx.lex;mv lex.yy.c doc_cxx.lex.c
doc_cxx.lex.o: doc_cxx.lex.c 
	$(CC) -c $(INCLUDE) $(CFLAGS) doc_cxx.lex.c

doc_cxx:  doc_cxx.lex.o
	$(CC) -o doc_cxx $(LDFLAGS)  doc_cxx.lex.o $(LIBS)

doc_sh.lex.c: doc_sh.lex 
	$(LEX) doc_sh.lex;mv lex.yy.c doc_sh.lex.c
doc_sh.lex.o: doc_sh.lex.c 
	$(CC) -c $(INCLUDE) $(CFLAGS) doc_sh.lex.c

doc_sh:  doc_sh.lex.o
	$(CC) -o doc_sh $(LDFLAGS)  doc_sh.lex.o $(LIBS)

doc_sql.lex.c: doc_sql.lex 
	$(LEX) doc_sql.lex;mv lex.yy.c doc_sql.lex.c
doc_sql.lex.o: doc_sql.lex.c 
	$(CC) -c $(INCLUDE) $(CFLAGS) doc_sql.lex.c

doc_sql:  doc_sql.lex.o
	$(CC) -o doc_sql $(LDFLAGS)  doc_sql.lex.o $(LIBS)

doc_cobol.lex.c: doc_cobol.lex 
	$(LEX) doc_cobol.lex;mv lex.yy.c doc_cobol.lex.c
doc_cobol.lex.o: doc_cobol.lex.c 
	$(CC) -c $(INCLUDE) $(CFLAGS) doc_cobol.lex.c

doc_cobol:  doc_cobol.lex.o
	$(CC) -o doc_cobol $(LDFLAGS)  doc_cobol.lex.o $(LIBS)

targets:  doc_cxx doc_sh doc_sql doc_cobol

clean_all:
	@echo "cleaning up..."
	@rm -f doc_cxx
	@rm -f doc_cxx.lex.o
	@rm -f doc_cxx.lex.c
	@rm -f doc_sh
	@rm -f doc_sh.lex.o
	@rm -f doc_sh.lex.c
	@rm -f doc_sql
	@rm -f doc_sql.lex.o
	@rm -f doc_sql.lex.c
	@rm -f doc_cobol
	@rm -f doc_cobol.lex.o
	@rm -f doc_cobol.lex.c
	@echo "done."

install_all: targets
	@echo "installing binaries to INSTALLDIR=$(INSTALLDIR)" 
	@INSTALLDIR=$(INSTALLDIR);export INSTALLDIR;\
	CHMOD=555;export CHMOD; \
	INSTALLTYPE="BIN";export INSTALLTYPE;\
	INSTALLEXE=$(INSTALLEXE);export INSTALLEXE;\
	.simplemake/makeinstall  doc_cxx doc_sh doc_sql doc_cobol $(INSTALLEXTRA)
	@echo "installing libraries to INSTALLLIB=$(INSTALLLIB)" 
	@INSTALLDIR=$(INSTALLLIB);export INSTALLDIR;\
	INSTALLTYPE="LIB";export INSTALLTYPE;\
	CHMOD=555;export CHMOD; \
	INSTALLEXE=$(INSTALLEXE);export INSTALLEXE;\
	.simplemake/makeinstall 
	@echo "installing headers to INSTALLHDR=$(INSTALLHDR)" 
	@INSTALLDIR=$(INSTALLHDR);export INSTALLDIR;\
	INSTALLTYPE="HDR";export INSTALLTYPE;\
	CHMOD=444;export CHMOD; \
	INSTALLEXE=$(INSTALLEXE);export INSTALLEXE;\
	.simplemake/makeinstall 

gzip: clean
	@echo "gzip -r..."
	@gzip -r .
	@echo "gunzip Makefile.gz Makefile.def.gz"; \
	gunzip Makefile.gz Makefile.def.gz
	@echo "done."

gunzip:
	@echo "gunzip -r..."
	@gunzip -r .
	@echo "done."

srcdist: clean
	@echo "Making source distribution for $(TAR) $(TAR_ALIASES)"
	@.simplemake/makesrcdist $(TAR) $(TAR_ALIASES)

newversion: clean
	@.simplemake/makever $(TAR)
