
.PHONY : clean

include ../../config.mk

# Define FIZMO_LIBS
include ../fizmo/fizmo.mk

ifneq ($(ENABLE_TRACING),)
CFLAGS += -DENABLE_TRACING=
endif

ifneq ($(FIZMO_SOUND_INTERFACE),)
 # Define SOUND_INTERFACE_[CFLAGS|LIBS|LIB_DIRS|STRUCT_NAME|INCLUDE_FILE]
 include ../$(FIZMO_SOUND_INTERFACE)/$(FIZMO_SOUND_INTERFACE).mk
 NCURSESW_SOUND_OBJECT = ../$(FIZMO_SOUND_INTERFACE)/$(FIZMO_SOUND_INTERFACE).o
 NCURSESW_SOUND_FLAGS =\
  -DFIZMO_SOUND_INTERFACE=$(SOUND_INTERFACE_STRUCT_NAME) \
  -DFIZMO_SOUND_INCLUDE_FILE=\"$(SOUND_INTERFACE_INCLUDE_FILE)\"
endif

NCURSESW_INC_DIRS = -I$(NCURSESW_INC_DIR)

ifneq ($(NCURSESW_LIB_DIR),)
NCURSESW_LIB_DIRS += -L$(NCURSESW_LIB_DIR)
endif

NCURSESW_LIBS = $(FIZMO_LIBS) -lncursesw
NCURSEWS_FLAGS =

ifneq ($(ENABLE_X11_IMAGES),)
 NCURSESW_INC_DIRS +=\
  -I$(GLIB_CONFIG_INC_DIR)\
  -I$(GLIB_INC_DIR)\
  -I$(GDK_CONFIG_INC_DIR)\
  -I$(GTK_INC_DIR)\
  -I$(GTK_INC_DIR)/gtk2\
  -I$(CAIRO_INC_DIR)\
  -I$(PANGO_INC_DIR)\
  -I$(ATK_INC_DIR)

 NCURSEWS_FLAGS += -DENABLE_X11_IMAGES=1

 NCURSESW_LIB_DIRS += -L$(X11_LIB_DIR) -L$(GDK_PIXBUF_LIB_DIR)

 NCURSESW_LIBS += \
  -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgdk_pixbuf_xlib-2.0 \
  -lgdk_pixbuf-2.0 -lX11 -lgtk-x11-2.0

#  If these above won't work, try the "official" full set:
#  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 \
#  -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpixman-1 -lpng12 -lXrender \
#  -lX11 -lXau -lXdmcp -lpango-1.0 -lm -lfontconfig -lexpat -lfreetype \
#  -lz -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv \
#  -lgdk_pixbuf_xlib-2.0
endif


all: fizmo

fizmo: ../fizmo/libfizmo.a ncrsw_if.o $(NCURSESW_SOUND_OBJECT)
	$(CC) $(CFLAGS) ncrsw_if.o $(NCURSESW_SOUND_OBJECT) -L../fizmo $(NCURSESW_LIB_DIRS) $(SOUND_INTERFACE_LIB_DIRS) -lfizmo $(FIZMO_LIBS) $(NCURSESW_LIBS) $(SOUND_INTERFACE_LIBS) -o fizmo

../fizmo/libfizmo.a::
	cd ../fizmo ; make libfizmo.a 

ifneq ($(FIZMO_SOUND_INTERFACE),)
../$(FIZMO_SOUND_INTERFACE)/$(FIZMO_SOUND_INTERFACE).o::
	cd ../$(FIZMO_SOUND_INTERFACE); make $(FIZMO_SOUND_INTERFACE).o
endif

ncrsw_if.o: ncrsw_if.c
	$(CC) $(CFLAGS) $(NCURSESW_INC_DIRS) $(NCURSEWS_FLAGS) $(NCURSESW_SOUND_FLAGS) -c ncrsw_if.c

clean:
	rm -f *.o fizmo
ifneq ($(FIZMO_SOUND_INTERFACE),)
	cd ../$(FIZMO_SOUND_INTERFACE) ; make clean
endif
	cd ../fizmo ; make clean

