DATADIR=\"C:\WINDOWS\SYSTEM32\"
DEBUG=0
BINPREFIX=
CC=$(BINPREFIX)gcc
STRIPBIN=$(BINPREFIX)strip
INTCCFLAGS=-fPIC -DGEOIPDATADIR=$(DATADIR)
MACLIBFILENAME=libGeoIP.1.dylib
USEMACINSTALLNAME=1
MACINSTALLNAME=@executable_path/../Frameworks/$(MACLIBFILENAME)
MACUNIVERSAL=0

ifeq ($(DEBUG),1)
  INTCCFLAGS+= -g
endif

ifndef PLATFORM
  osname=$(strip $(shell uname -s))
  ifeq ($(findstring MINGW,$(osname)),MINGW)
    PLATFORM=WINDOWS
  else
    ifeq ($(findstring CYGWIN,$(osname)),CYGWIN)
      PLATFORM=WINDOWS
    else
      ifeq ($(findstring Darwin,$(osname)),Darwin)
        PLATFORM=DARWIN
      else
        PLATFORM=UNKNOWN
      endif
    endif
  endif
endif

ifeq ($(PLATFORM), WINDOWS)
  LIBFILE=GeoIP.dll
  INTLDFLAGS=-shared
else
  ifeq ($(PLATFORM), DARWIN)
    LIBFILE=$(MACLIBFILENAME)
    INTLDFLAGS=-dynamiclib
    ifeq ($(USEMACINSTALLNAME), 1)
      INTLDFLAGS+= -install_name $(MACINSTALLNAME)
    endif
    ifeq ($(MACUNIVERSAL), 1)
      INTCOMMONFLAGS+= -arch ppc -arch i386
    endif
  else
    LIBFILE=libGeoIP.so.1.4.6
    INTLDFLAGS=-shared
  endif
endif

.PHONY: all $(LIBFILE) clean

all: $(LIBFILE)

$(LIBFILE): GeoIP.c
	$(CC) -o $(LIBFILE) GeoIP.c $(INTCCFLAGS) $(INTLDFLAGS) $(INTCOMMONFLAGS) $(CCFLAGS) $(LDFLAGS)
ifeq ($(DEBUG),0)
	$(STRIPBIN) -x $(LIBFILE)
endif

clean:
	-rm -f $(LIBFILE)
