include watcom.mk

LIBNAME = gui

SRCDIRS = c ui/c

INCDIRS += h 
INCDIRS += ui/h 
INCDIRS += $(WATCOM_DIR)/h 
INCDIRS += $(UI_DIR)/h
INCDIRS += $(WRES_DIR)/h 
INCDIRS += $(HELP_DIR) 
INCDIRS += $(UTILS_DIR) 
INCDIRS += $(DBDIR)/h

DEFS += -DISQL_COLOURS

ifeq ($(PLATFORM),sgi)
    # SGI's need to grab fnmatch from wclib
    INCDIRS += $(WCLIB_DIR)/h
endif

vpath %.c $(SRCDIRS)
vpath %.h $(INCDIRS)
vpath %.msg h

GUI_MSG_FILE = _guimsgs.gh

ifeq ($(THREADMODEL),)
    all :
	$(MAKE) THREADMODEL=nothr
	$(MAKE) THREADMODEL=posix

    setup :
	$(MAKE) THREADMODEL=nothr setup
	$(MAKE) THREADMODEL=posix setup
else
    all	  : setup $(GUI_MSG_FILE) $(OBJDIR)/lib$(LIBNAME).a

    setup : $(OBJDIR)
endif

include unix/objfiles.mk
OBJECTS := $(foreach i,$(objfiles),$(OBJDIR)/$i)

$(GUI_MSG_FILE)	: gui.msg $(OBJDIR)/mkstr
	$(OBJDIR)/mkstr $(GUI_MSG_FILE) $(GUI_MSG_ID_MODIFIER)

$(OBJDIR)/mkstr : $(OBJDIR)/mkstr.o
        ifeq ($(PLATFORM),aix)
		$(DBLINK) -ex$(THREAD_MODEL_LIB_SUFFIX) $(EXTRAFLAGS) $(foreachi,$(LIBDIRS),-L$i) -o $@ $< $(LIBS)
        else
		$(CC) $(CFLAGS) $< -o $@
        endif

$(OBJDIR)/mkstr.o: mkstr.c
	$(CC) $(CFLAGS) -c $< -o $@


$(OBJDIR)/lib$(LIBNAME).a : $(OBJECTS)
	@rm -f $@
	$(AR) crs $@ $(OBJECTS)

include $(MK_DIR)/trailer.mk

.PHONY	: clean
ifeq ($(THREADMODEL),)
    clean :
	$(MAKE) THREADMODEL=nothr clean
	$(MAKE) THREADMODEL=posix clean
else
    clean :
	rm -f $(OBJDIR)/*
endif

.PHONY	: dep depend make
ifeq ($(THREADMODEL),)
    dep depend make:
	$(MAKE) THREADMODEL=nothr depend
	$(MAKE) THREADMODEL=posix depend
else
    dep depend make: 
	$(MKMK) -Q -m .depend_$(THREADMODEL) -a foo -f '$$(OBJDIR)/%s' nopath \
		$(foreach i,$(SRCDIRS),'$i/*.[ch]') \
		$(foreach i,$(INCDIRS),'$i/*.h')
endif

ifeq (.depend_$(THREADMODEL),$(wildcard .depend_$(THREADMODEL)))
    include .depend_$(THREADMODEL)
endif
