changequote([[[, ]]])
.SUFFIXES :

.SUFFIXES : .cdk90 .ftn .ftn90 .ptn .f .f90 .c .s .o

SHELL = /bin/sh

CPP = r.gppf

COMPILE = m4_COMPILE

DEFINE =  m4_DEFINE

FFLAGS =  m4_FFLAGS

CFLAGS = -I$(ARMNLIB)/[[[include]]]

CPPFLAGS = -I$(ARMNLIB)/[[[include]]]

ASFLAGS =  m4_ASFLAGS

DOC =

LABASE = m4_exper

MALIB =  m4_MALIB

IGNORE_ERRORS = set -e

MAKE = $(IGNORE_ERRORS) ; make ARCH=$(EC_ARCH)

AR = r.ar -arch $(EC_ARCH)

.PRECIOUS: $(MALIB)
.DEFAULT:
	m4_ledefaut $@

default: make_menu


RCOMPIL = r.compile
RBUILD  = r.build
FCOMPF = 
CCOMPF =
COMPF = 
FC = $(RCOMPIL) -arch $(EC_ARCH) -abi $(ABI)  -defines "=$(DEFINE)" -O $(OPTIL) -optf="$(FFLAGS)" -bindir $(LCLPO) $(COMPF) $(FCOMPF) -src
CC = $(RCOMPIL) -arch $(EC_ARCH) -abi $(ABI)  -defines "=$(DEFINE)" -O $(OPTIL) -optc="$(CFLAGS)" -bindir $(LCLPO) $(COMPF) $(CCOMPF) -src
FTNC = $(RCOMPIL) -arch $(EC_ARCH) -abi $(ABI)  -defines "=$(DEFINE)" -optf="$(FFLAGS) $(CPPFLAGS)" -P $(COMPF) $(FCOMPF) -src
PTNC = sed 's/^[[:blank:]].*PROGRAM /      SUBROUTINE /i' | sed 's/^[[:blank:]].*program /      subroutine /i'

.ptn.a:
	$(PTNC) < $< > $*.ftn
	$(FC) $*.ftn  $(FFLAGS)
	if [ -f $@ ]; then chmod 644 $@ ; fi
	$(AR) rv $@ $*.o
	chmod 444 $@
	\rm -f $*.o $*.f $*.ftn

.ftn.a:
	$(FC) $< $(FFLAGS)
	if [ -f $@ ]; then chmod 644 $@ ; fi
	$(AR) rv $@ $*.o
	chmod 444 $@
	\rm -f $*.o $*.f

.ptn.o:
	$(PTNC) < $<  > $*.ftn
	$(FC) $*.ftn  $(FFLAGS)
	rm -f $*.ftn	

.ptn.f:
	rm -f $*.f
	$(PTNC) < $< > $*.ftn
	$(FTNC) $*.ftn -P

.ftn.o:
	rm -f $*.f
	$(FC) $<
.ftn.f:
	rm -f $*.f
	$(FTNC) $<
.f90.o:
	$(FC) $<
.f.o:
	$(FC) $<
.ftn90.o:
	rm -f $*.f90
	$(FC) $<
.cdk90.o:
	$(FC) $<
.cdk90.f90:
	rm -f $*.f90
	$(FTNC) $<
.ftn90.f90:
	rm -f $*.f90
	$(FTNC) $<

.c.o:
	$(CC) $<

.s.o:
	$(AS) -c $(CPPFLAGS) $(ASFLAGS) $<

% :: RCS/%,v
	collectivisme_101 $@

include(m4_TMPDIR/m4_SS[[[_sousliste_Makefile]]])

FICHIERS = $(FDECKS) $(CDECKS) $(ASDECKS) $(HDECKS) $(F90DECKS) $(COMDECKS90)

include(l_i_s_t_e_M_a_k_e_f_i_l_e_l_i_s_t_e)

include(l_i_s_t_e_M_a_k_e_f_i_l_e_l_i_s_t_e_2)

make_menu:
	$(MAKE)	"DEFINE=$(DEFINE)" "CPPFLAGS=$(CPPFLAGS)" \
        "CFLAGS=$(CFLAGS)" "FFLAGS=$(FFLAGS)" \
        "ASFLAGS=$(ASFLAGS)" "COMPILE=$(COMPILE)" "DOC=$(DOC)" `fait_le_menu2`

sortirtout:
	extrait_tout

#LISTE DES CIBLES DU FICHIER recettes

obj: $(OBJECTS) 
#Produire les fichiers objets (.o) pour tous les fichiers

full: $(FICHIERS)
#Inclure tous les fichiers .f dans le fichier $(COMPILE) et sortir le reste des fichiers
	-if [ "*.f" != "`echo *.f`" ] ; \
	then \
	cat *.f  > $(COMPILE) ;\
	fi ; \
	if [ "*.f90" != "`echo *.f90`" ] ; \
	then \
	cat *.f90  >> $(COMPILE)90.f90 ;\
	fi

include(m4_ARMNLIB/[[[include]]]/make_exp/docdk1)

qcompil:
#Inclure uniquement les fichiers .f .f90 modifies dans le fichier $(COMPILE)
	-rm $(COMPILE) $(COMPILE)90.f90
	-if [ "*.[fp]tn" != "`echo *.[fp]tn`" ] ;\
	then \
	for i in *.[fp]tn; \
	do \
	fn=$${i%.[fp]tn}; \
	$(MAKE) "DEFINE=$(DEFINE)" $$fn.f; \
	done \
	fi ;\
	if [ "*.f" != "`echo *.f`" ] ;\
	then \
	cat *.f > $(COMPILE) ;\
	fi ; \
	if [ "*.cdk90" != "`echo *.cdk90`" ] ;\
	then \
	for i in *.cdk90; \
	do \
	fn=$${i%.cdk90}; \
	$(MAKE) "DEFINE=$(DEFINE)" $$fn.o; \
	done \
	fi ;\
	if [ "*.f90" != "`echo *.f90`" ] ;\
	then \
	cat *.f90 >> $(COMPILE)90.f90 ;\
	fi ; \
	if [ "*.ftn90" != "`echo *.ftn90`" ] ;\
	then \
	for i in *.ftn90; \
	do \
	fn=$${i%.ftn90}; \
	$(MAKE) "DEFINE=$(DEFINE)" $$fn.f90; \
	done \
	fi ;\
	if [ "*.f90" != "`echo *.f90`" ] ;\
	then \
	cat *.f90 >> $(COMPILE)90.f90 ;\
	fi

qobj:
#Compiler uniquement les fichiers  modifies.
	-if [ "*.[fcs]" != "`echo *.[fcs]`" ] ;\
	then \
	for i in *.[fcs]; \
	do \
	fn=$${i%.[fcs]}; \
	$(MAKE) "FFLAGS=$(FFLAGS)" "CFLAGS=$(CFLAGS)" "ASFLAGS=$(ASFLAGS)" $$fn.o; \
	done \
	fi ;\
	if [ "*.[fp]tn" != "`echo *.[fp]tn`" ] ;\
	then \
	for i in *.[fp]tn; \
	do \
	fn=$${i%.[fp]tn}; \
	$(MAKE) "DEFINE=$(DEFINE)" $$fn.o; \
	done \
	fi ; \
	if [ "*.cdk90" != "`echo *.cdk90`" ] ;\
	then \
	for i in *.cdk90; \
	do \
	fn=$${i%.cdk90}; \
	$(MAKE) "FFLAGS=$(FFLAGS)" "CFLAGS=$(CFLAGS)" "ASFLAGS=$(ASFLAGS)" $$fn.o; \
	done \
	fi ;\
	if [ "*.f90" != "`echo *.f90`" ] ;\
	then \
	for i in *.f90; \
	do \
	fn=$${i%.f90}; \
	$(MAKE) "FFLAGS=$(FFLAGS)" "CFLAGS=$(CFLAGS)" "ASFLAGS=$(ASFLAGS)" $$fn.o; \
	done \
	fi ;\
	if [ "*.ftn90" != "`echo *.ftn90`" ] ;\
	then \
	for i in *.ftn90; \
	do \
	fn=$${i%.ftn90}; \
	$(MAKE) "DEFINE=$(DEFINE)" $$fn.o; \
	done \
	fi

genlib: $(OBJECTS)
#Creer une programmatheque ayant pour nom $MALIB et incluant TOUS les fichiers objets
	$(AR) rv $(MALIB) $(OBJECTS)

majlib: objloc
#Mise a jour de la programmatheque $MALIB a partir de tous les fichers .o affectes par les dernieres modifications
	$(AR) rv $(MALIB) *.o

qmajlib: qobj
#Mise a jour de la programmatheque $MALIB a partir de tous les fichers .o presents dans le repertoire courant
	$(AR) rv $(MALIB) *.o

libexp: sortirtout objexp
#Mettre tous les objets de l experience en cours dans la programmatheque $MALIB
	$(AR) rv $(MALIB) *.o


clean:
#Faire le grand menage. On enleve tous les fichiers sources inutiles et les .o 
	-if [ "*.[chfs]" != "`echo *.[chfs]`" ] ; \
	then 	for i in *.[chfs]; \
	do \
	if (r.ucanrm $$i)  ; \
	then rm -f $$i; \
	fi; \
	done \
	fi; \
	if [ "*.cdk" != "`echo *.cdk`" ] ; \
	then 	for i in *.cdk; \
	do \
	if (r.ucanrm  $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi; \
	if [ "*.txt" != "`echo *.txt`" ] ; \
	then 	for i in *.txt; \
	do \
	if (r.ucanrm  $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi; \
	if [ "*.*_sh" != "`echo *.*_sh`" ] ; \
	then \
	for i in *.*_sh; \
	do \
	if (r.ucanrm  $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi; \
	if [ "*.[fp]tn" != "`echo *.[fp]tn`" ] ; \
	then \
	for i in *.[fp]tn; \
	do \
	if (r.ucanrm $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi ; \
	rm *.o
	-if [ "*.f90" != "`echo *.f90`" ] ; \
	then \
	for i in *.f90; \
	do \
	if (r.ucanrm $$i)  ; \
	then rm -f $$i; \
	fi; \
	done \
	fi; \
	if [ "*.cdk90" != "`echo *.cdk90`" ] ; \
	then \
	for i in *.cdk90; \
	do \
	if (r.ucanrm  $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi ; \
	if [ "*.ftn90" != "`echo *.ftn90`" ] ; \
	then \
	for i in *.ftn90; \
	do \
	if (r.ucanrm $$i) ; \
	then rm -f $$i; \
	fi; \
	done \
	fi
	rm *.o *.mod

qclean:
#Faire un petit menage. On enleve tous les .o et les .f produits a partir de .ftn/.ptn
	-if [ "*.[fp]tn" != "`echo *.[fp]tn`" ] ; \
	then \
	for i in *.[fp]tn ; \
	do \
	fn=$${i%.[fp]tn}; \
	rm -f $$fn.f; \
	done \
	fi ; \
	if [ "*.ftn90" != "`echo *.ftn90`" ] ; \
	then \
	for i in *.ftn90 ; \
	do \
	fn=$${i%.ftn90};\
	rm -f $$fn.f90; \
	done \
	fi 
	rm *.o

