# -*- makefile -*-

ifeq ($(TERM),cygwin)
MINGW=true
else
ifeq ($(OSTYPE),msys)
MINGW=true
endif
endif

ifdef MINGW
CAT=cat
CC=gcc -mno-cygwin
CXX=g++ -mno-cygwin
AR=ar
RANLIB=ranlib
WINDRES=windres
PLATFORM=cyg
EXEEXT=.exe
OBJEXT=.o
LIBEXT=.a
else
ifeq ($(findstring EMX, $(PATH)), EMX)
CAT=cat
CC=gcc
AR=ar
RANLIB=ar s
PLATFORM=emx
SHELL=bash
EXEEXT=.exe
OBJEXT=.o
LIBEXT=.a
#CC=gcc -Zomf
#AR=emxomfar
#RANLIB=emxomfar s
#PLATFORM=emx
#SHELL=bash
#EXEEXT=.exe
#OBJEXT=.obj
#LIBEXT=.lib
CXX=$(CC)
else
ifneq ($(DJGPP),)
CAT=command.com /c type
CC=gcc
CXX=gxx
AR=ar
RANLIB=ranlib
PLATFORM=djg
SHELL=shdos32.exe
EXEEXT=.exe
OBJEXT=.o
LIBEXT=.a
else
ifeq ($(OSTYPE),beos) # BeOS build
CAT=cat
CC=gcc
CXX=g++
AR=ar
RANLIB=ranlib
PLATFORM=be
EXEEXT=
OBJEXT=.o
LIBEXT=.a
LNKFLAGS+=-lbe -ltextencoding
else
CAT=cat
CC=gcc
CXX=g++
AR=ar
RANLIB=ranlib
PLATFORM=lnx
EXEEXT=
OBJEXT=.o
LIBEXT=.a
endif
endif
endif
endif
CFLAGS+=-g -funsigned-char $(INCS) -Wall -Wno-sign-compare -pedantic -O2 -DPRAGMA_PACK # -fomit-frame-pointer
LNKFLAGS+=-g
CPPFLAGS+=$(CFLAGS) -fno-exceptions -fno-rtti

# comment following lines if you dislike ncurses
# uncomment "buggy ncurses" if your build requires additional keypresses to
# pass areascan
# NOTE: lnx is active for any *NIX system and only ncurses mode is portable
ifeq ($(PLATFORM),lnx)
CPPFLAGS+=-D__USE_NCURSES__ #-DBUGGY_NCURSES
STDLIBS+=-lncurses
endif

# uncomment the next line for better koi-8 support. do not do it for
# international builds since latin-1 support will be broken.
ifeq ($(PLATFORM),lnx)
CPPFLAGS+=#-DKOI8
endif

#uncomment the following line if you build version to be used
#on BONE-powered systems(Dan0 etc.) This improves some operations ...
ifeq ($(PLATFORM),be)
CPPFLAGS+=#-DBEOS_BONE_BUILD
endif

# force not to use coprocessor features in DOS, if you have one you may remove this
ifeq ($(PLATFORM),djg)
CFLAGS+=-mcpu=i386
STDLIBS+=-llocal -lwmemu
endif

BIN=bin
OBJPATH=obj
LIBPATH=lib
