####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 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


####ADDBYMAKEDEP

des.o: des.c  message.h somef.h
	$(CC) -c $(INCLUDE) $(CFLAGS) des.c

somef.o: somef.c  somef.h
	$(CC) -c $(INCLUDE) $(CFLAGS) somef.c

version.o: version.c  message.h
	$(CC) -c $(INCLUDE) $(CFLAGS) version.c

des:  des.o somef.o version.o
	$(CC) -o des $(LDFLAGS)  des.o somef.o version.o $(LIBS)

undes.o: undes.c  message.h somef.h
	$(CC) -c $(INCLUDE) $(CFLAGS) undes.c

undes:  undes.o somef.o version.o
	$(CC) -o undes $(LDFLAGS)  undes.o somef.o version.o $(LIBS)

targets:  des undes

clean_all:
	@echo "cleaning up..."
	@rm -f des
	@rm -f des.o
	@rm -f somef.o
	@rm -f version.o
	@rm -f undes
	@rm -f undes.o
	@rm -f somef.o
	@rm -f version.o
	@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  des undes $(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)"
	@.simplemake/makesrcdist $(TAR)

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