#
CC = gcc
LIBS =  -lX11 -lm
LDR = ${FC} 
ARCH := $(shell getconf LONG_BIT)
AFLAG= -m$(ARCH)
EXTEN=
EXTENZ=
EXTRAZ= 

empty :=
choosefc := 
EXT :=
uname := $(shell uname -s)
os :=

ifeq ($(uname), Linux)
 os := $(shell head -n 1 /etc/issue | cut -d" " -f1)
 ifeq ($(os), Ubuntu)
    EXTEN = exten
    EXTENZ = exten2
 endif

 choosefc := 'yes'
endif

ifneq (,$(findstring CYGWIN,$(uname)))
 uname := Linux
 choosefc := 'yes'
endif

ifeq ($(uname), Darwin)
 choosefc := 'yes'
endif


ifneq ($(choosefc), $(empty))
 comg77 := $(shell which g77 | grep -i g77)
 comgfort := $(shell which gfortran | grep -i gfortran)
 ifneq ($(comg77), $(empty))
    FC = g77
 endif
 ifneq ($(comgfort), $(empty))
    FC = gfortran
 endif
endif

print-%  : ; @echo $* = $($*)

#
# Linux version
#

ifeq ($(uname), Linux)
CC = gcc
comgcc := $(shell gcc --version | grep 5\.4)
ifeq ($(comgcc), $(empty))
   comgcc := $(shell gcc --version | grep 6\.)
endif
ifeq ($(comgcc), $(empty))
   comgcc := $(shell gcc --version | grep 7\.)
endif
ifeq ($(comgcc), $(empty))
   comgcc := $(shell gcc --version | grep 9\.)
#   EXTRAZ = -Wno-format-truncation
   EXTRAZ = -Wno-format-truncation
endif
ifneq ($(comgcc), $(empty))
   EXTRAZ = -Wno-implicit-function-declaration
   EXT = ${EXTRAZ}
endif
FFLAGS = -g ${AFLAG}
LIBS =  -lm
ifeq ($(AFLAG),"-m64")
LIBS =  -lm
endif
LDR = ${FC} -g ${AFLAG} -finit-local-zero 
CFLAGS = ${AFLAG} ${EXTRAZ} -c -g 
 ifeq ($(os), Debian)
    CFLAGS = ${AFLAG} ${EXTRAZ} -c -g
    LIBS =  -lm
    ifeq ($(AFLAG),"-m64")
       LIBS =  -lm
    endif
 endif
ifeq ($(os), FreeBSD)
CFLAGS = ${CFLAGS} -DFREEBSD
endif
endif

ifeq ($(uname), Darwin)
#
# Mac OS X g77
#
CC=gcc

EXT= -std=gnu89 -Wno-return-type -DDARWIN ${EXTRAZ}
FFLAGS=-O3 -funroll-loops -fallow-argument-mismatch
CFLAGS= -g -std=gnu89 -Wno-return-type -DDARWIN -Wno-logical-op-parentheses -Wno-tautological-pointer-compare -Wno-tautological-constant-out-of-range-compare -fallow-argument-mismatch
LDR = ${FC}
endif


OBJS = $(addprefix $(OBJDIR), docker.o wrmod.o gettnk.o rdpdb.o concat.o)


#
# on linux :
#
# MacOS X "Panther" implementation
# Needs Xcode tools
#
# From fred arnold, also OS-X
#

all:	docker 

docker:	$(OBJS)
	$(LDR) -o docker $(OBJS) -lm
	mv docker ../bin/docker

clean:
	rm -f $(OBJS)

