
.PHONY: all libs clean

# read compiler flags
ifneq ($(MAKECMDGOALS),clean)
AllFlags = ../CalcHEP_src/FlagsForMake
ifeq (,$(wildcard $(AllFlags) )) 
$(error File $(AllFlags) is absent. Presumably you forget to compile main code)
endif 
include ../CalcHEP_src/FlagsForMake 
endif

ifeq ($(FC),)
$(error  This model needs Fortran compiler which was not detected in installation) 
endif

 
cLib = $(CALCHEP)/lib

# files to compile
SSS =   ../sources/micromegas.a  $(cLib)/dynamic_me.a ../sources/micromegas.a  work/work_aux.a \
 $(wildcard lib/aLib.a) $(cLib)/sqme_aux.$(SO) $(cLib)/libSLHAplus.a   \
 ../CalcHEP_src/lib/num_c.a  ../CalcHEP_src/lib/serv.a $(LX11)  


all: $(main) libs
ifeq (,$(main)) 
	@echo Main program is not specified. Use gmake main='<code of main program>'
else  
  ifeq (.cpp,$(suffix $(main)))
	$(CXX) $(CXXFLAGS) -o $(main:.cpp=) $(main) $(SSS)  $(lDL)  -lm
  else  
    ifeq (.c,$(suffix $(main)))
	$(CC)  $(CFLAGS) -o $(main:.c=) $(main)  $(SSS) $(lDL)  -lm 
    else  
      ifeq (.F,$(suffix $(main)))
        ifeq ($(FC), )
	$(error  Fortran compiler was not detected.)
        else 
	$(FC) $(FFLAGS) -o $(main:.F=) $(main) $(SSS)  $(lDL)  -lm
        endif
      else
	$(error Only .c, .cpp, and .F  main programs  are supported).
      endif
    endif
  endif  
endif


libs:
	$(MAKE) -C work
	$(MAKE) -C lib

clean: 
	$(MAKE) -C lib  clean
	$(MAKE) -C work clean 
	rm -f calchep/tmp/* calchep/results/*
	../sources/cleanexe
	rm -f *.dat
