CC = gcc
OBJ = .o
AR = ar ruv
CFLAGS = -Wall -O2 -fomit-frame-pointer -ffast-math -funroll-loops -s -mcpu=pentium
CFLAGS = -Wall -O2 -Wno-unused-parameter
INCLUDE = -I include -I /usr/local/include
BASENAME = 
TARGET =

ifdef DEBUGMODE
   CFLAGS = -W -Wall -O -g -DDEBUGMODE
endif

ifdef PROFILEMODE
   CFLAGS += -pg
   LFLAGS += -pg
endif

ifndef PROFILEMODE 
   ifndef DEBUGMODE
      CFLAGS += -O2 -fomit-frame-pointer -funroll-loops -s
   endif
endif

ifdef CROSSCOMPILE
   MINGDIR = $(HOME)/cross-tools/bin
   ifndef XPREFIX
      XPREFIX = i386-mingw32msvc-
   endif
   CFLAGS += -DALLEGRO_WINDOWS
endif

include makefile.lst
COMMON_OBJECTS = $(basename $(notdir $(LIBNET_SRC_FILES)))
UNIX_OBJECTS = $(basename $(notdir $(LIBNET_SRC_UNIX_FILES)))
LINUX_OBJECTS = $(basename $(notdir $(LIBNET_SRC_LINUX_FILES)))
WINDOWS_OBJECTS = $(basename $(notdir $(LIBNET_SRC_WINDOWS_FILES)))

#For Make to detect MingW automatically, the variable MINGDIR must be set
#Likewise, for DJGPP the variable DJGPP must be set
ifdef MINGDIR

   ifdef CROSSCOMPILE
      CC = $(XPREFIX)gcc
      RC = $(XPREFIX)windres
      INCLUDE += -I $(HOME)/cross-tools/include -LI$(HOME)/cross-tools/lib
      STATICLINK = 1
   else
      RC = windres
   endif
   
   ifdef STATICLINK
      CFLAGS += -DCROSSCOMPILE
   endif

   ifdef CPU
      CFLAGS += -mcpu=$(CPU)
   else
      CFLAGS += -mcpu=i686
   endif
   OBJDIR = obj/mingw
   LIBDIR = lib/mingw
   TARGET = TARGET_MINGW32
   OBJECT_LIST = $(COMMON_OBJECTS) $(WINDOWS_OBJECTS)
else
   ifdef DJGPP
      ifdef CPU
         CFLAGS += -mcpu=$(CPU)
      else
         CFLAGS += -mcpu=i686
      endif
      OBJDIR = obj/djgpp
      LIBDIR = lib/djgpp
      TARGET = TARGET_DJGPP
      OBJECT_LIST = $(COMMON_OBJECTS) $(DOS_OBJECTS)
   else
      ifdef CPU
         CFLAGS += -mcpu=$(CPU)
      endif
      ifdef OSTYPE
        OBJDIR = obj/$(OSTYPE)
        LIBDIR = lib/$(OSTYPE)
        EXEDIR = bin/$(OSTYPE)
        TARGET = TARGET_LINUX
        OBJECT_LIST = $(COMMON_OBJECTS) $(LINUX_OBJECTS)
      else
        OBJDIR = obj/unix
        LIBDIR = lib/unix
        EXEDIR = bin/unix
        TARGET = TARGET_UNIX
        OBJECT_LIST = $(COMMON_OBJECTS) $(UNIX_OBJECTS)
      endif
      CFLAGS += -pipe
   endif
endif

OBJECTS = $(addprefix $(OBJDIR)/, $(addsuffix $(OBJ), $(OBJECT_LIST)))

include makefile.all
include makefile.dep
