#
# Makefile
##########################

.EXPORT_ALL_VARIABLES:

####################################################################

linux:
	make TARGET="LNX" all
svgl:
	make TARGET="LNX" USE_SVGALIB=1 all

dos:
	make TARGET="DOS"  all

unix:
	make TARGET="UNIX" all

all:
	make -C $(LIB_SRC) gfx_lib
	make -C $(EXAMPLE_DIR) all

####################################################################

#WARN 	=  -Wall -pedantic
#GDEBUG	= -g

####################################################################

ifeq ($(TARGET),LNX)

ROOT_DIR  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
CC	  = gcc -m486
LD	  = gcc # -Wl,-N  #,-Bstatic
AS	  = as
AR	  = ar rs
GFX_LIB	  = $(LIB_DIR)/lib_sll.a
LIB       = -L/usr/X11R6/lib -lXext -lX11
ifndef DONT_USE_DGA
LIB       += -lXxf86dga
endif
ifdef USE_SVGALIB
EXCLUDE	  = -DUSE_SVGALIB
GFX_LIB   += $(LIB_DIR)/libvgagl.a $(LIB_DIR)/libvga.a
endif

OPTIMIZE  = $(GDEBUG) $(WARN) -O6 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2

endif

####################################################################

ifeq ($(TARGET),DOS)
ROOT_DIR  = .
CC	  = gcc -m486
LD	  = gcc
AS	  = as 
AR	  = ar rs
LIB       = #-lpc
GFX_LIB	  = $(LIB_DIR)/lib_sl.a
OPTIMIZE  = $(GDEBUG) $(WARN) -O6 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2

endif

####################################################################

ifeq ($(TARGET),UNIX)
ROOT_DIR  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
CC	  = gcc
LD	  = gcc #-Wl,-N # ,-Bstatic
AS	  = as
AR	  = ar r
EXCLUDE	  = -DDONT_USE_DGA
LIB       = -L/usr/X11R6/lib -lXext -lX11
GFX_LIB	  = $(LIB_DIR)/lib_slu.a
OPTIMIZE  = $(GDEBUG) $(WARN) -O6

endif

####################################################################

LIB_DIR   = ../lib
LIB_SRC   = $(ROOT_DIR)/lib_src
LIB_INCLUDE = $(ROOT_DIR)/lib_src
EXAMPLE_DIR = $(ROOT_DIR)/example
SUBDIRS = $(LIB_SRC) $(EXAMPLE_DIR)

####################################################################

BUILD_FLAGS = -D$(TARGET) $(EXCLUDE)

LDFLAGS   = -shared
CFLAGS 	  = $(OPTIMIZE) $(BUILD_FLAGS) # -I$(LIB_INCLUDE)

STAT_LIB = $(GFX_LIB)

####################################################################

clean:
	for i in $(SUBDIRS); do $(MAKE) -C .$$i TARGET=$(TARGET) clean; done
#	make -C $(LIB_SRC) clean
#	make -C $(EXAMPLE_DIR) clean

####################################################################
