# dmakefile for Yak 2.00 (DICE 3.01)


#-------------------------------------------
# Global source files
#-------------------------------------------

ROOT_DIR =
ROOT_INC_DIR = $(ROOT_DIR)Include/
ROOT_OBJ_DIR = $(ROOT_DIR)Obj/

VERS_SRC = $(ROOT_DIR)Version.c
VERS_OBJ = $(ROOT_OBJ_DIR)Version.o

LOC_DIR     = $(ROOT_DIR)locale/
LOC_INC_DIR = $(LOC_DIR)


#-------------------------------------------
# Files needed to build Yak commodity
#-------------------------------------------

WBS_DIR     = $(ROOT_DIR)WBStartup/
WBS_INC_DIR = $(WBS_DIR)Include/
WBS_OBJ_DIR = $(WBS_DIR)Obj/

WBS_SRCS0 = $(WBS_DIR)main.c \
            $(WBS_DIR)Pri.c \
            $(WBS_DIR)Hotkey_actions.c \
            $(WBS_DIR)LastActiveWindow.c \
            $(WBS_DIR)Beep.c \
            $(WBS_DIR)Clickdrive.c \
            $(WBS_DIR)Blackborder.c \
            $(WBS_DIR)Patch_libs.c \
            $(WBS_DIR)UnixDirs.c \
            $(WBS_DIR)MMB_Shift.c \
            $(WBS_DIR)ARexx.c \
            $(WBS_DIR)FullWorkbench.c \
            $(WBS_DIR)CapShift.c

WBS_SRCS1 = $(ROOT_DIR)handlers.c \
            $(ROOT_DIR)Hotkey_types.c \
            $(ROOT_DIR)settings.c \
            $(ROOT_DIR)Icon.c \
            $(ROOT_DIR)GetPubScreen.c \
            $(ROOT_DIR)GetScreenBox.c \
            $(ROOT_DIR)Requesters.c
WBS_SRCS2 = $(LOC_DIR)yak_locale_strings.c

WBS_OBJS0 = $(WBS_SRCS0:"$(WBS_DIR)*.c":"$(WBS_OBJ_DIR)*.o")
WBS_OBJS1 = $(WBS_SRCS1:"$(ROOT_DIR)*.c":"$(WBS_OBJ_DIR)*.o")
WBS_OBJS2 = $(WBS_SRCS2:"$(LOC_DIR)*.c":"$(WBS_OBJ_DIR)*.o")


#-------------------------------------------
# Files needed to build Prefs program
#-------------------------------------------

PREFS_DIR     = $(ROOT_DIR)Prefs/
PREFS_INC_DIR = $(PREFS_DIR)Include/
PREFS_OBJ_DIR = $(PREFS_DIR)Obj/

PREFS_SRCS0 = $(ROOT_DIR)Hotkey_types.c \
              $(ROOT_DIR)settings.c \
              $(ROOT_DIR)Icon.c \
              $(ROOT_DIR)handlers.c \
              $(ROOT_DIR)GetPubScreen.c \
              $(ROOT_DIR)GetScreenBox.c \
              $(ROOT_DIR)Requesters.c
PREFS_SRCS1 = $(LOC_DIR)yak_locale_strings.c

PREFS_OBJS0 = $(PREFS_SRCS0:"$(ROOT_DIR)*.c":"$(PREFS_OBJ_DIR)*.o")
PREFS_OBJS1 = $(PREFS_SRCS1:"$(LOC_DIR)*.c":"$(PREFS_OBJ_DIR)*.o")


# --- GadTools Version ---

GADTOOLS_DIR     = $(PREFS_DIR)GadTools/
GADTOOLS_OBJ_DIR = $(GADTOOLS_DIR)Obj/

GADTOOLS_SRCS0 = $(GADTOOLS_DIR)Root_Window.c \
                 $(GADTOOLS_DIR)Misc_window.c \
                 $(GADTOOLS_DIR)Blank_window.c \
                 $(GADTOOLS_DIR)Keydef_window.c \
                 $(GADTOOLS_DIR)MouseCycling_Window.c \
                 $(GADTOOLS_DIR)Options_Window.c \
                 $(GADTOOLS_DIR)Hotkey_window.c
GADTOOLS_SRCS1 = $(PREFS_DIR)main.c \
                 $(PREFS_DIR)gui.c \
                 $(PREFS_DIR)Keydef.c \
                 $(PREFS_DIR)Root_Menus.c \
                 $(PREFS_DIR)Filereq.c

GADTOOLS_OBJS0 = $(GADTOOLS_SRCS0:"$(GADTOOLS_DIR)*.c":"$(GADTOOLS_OBJ_DIR)*.o")
GADTOOLS_OBJS1 = $(GADTOOLS_SRCS1:"$(PREFS_DIR)*.c":"$(GADTOOLS_OBJ_DIR)*.o")


# --- MUI Version ---

MUI_DIR     = $(PREFS_DIR)MUI/
MUI_OBJ_DIR = $(MUI_DIR)Obj/

MUI_SRCS0 = $(MUI_DIR)Root_Window.c \
            $(MUI_DIR)MouseCycling_Window.c \
            $(MUI_DIR)Hotkey_window.c \
            $(MUI_DIR)Options_Window.c \
            $(MUI_DIR)Keydef_window.c \
            $(MUI_DIR)Blank_Window.c \
            $(MUI_DIR)Misc_Window.c
MUI_SRCS1 = $(PREFS_DIR)main.c \
            $(PREFS_DIR)gui.c \
            $(PREFS_DIR)Keydef.c \
            $(PREFS_DIR)Root_Menus.c \
            $(PREFS_DIR)Filereq.c

MUI_OBJS0 = $(MUI_SRCS0:"$(MUI_DIR)*.c":"$(MUI_OBJ_DIR)*.o")
MUI_OBJS1 = $(MUI_SRCS1:"$(PREFS_DIR)*.c":"$(MUI_OBJ_DIR)*.o")


# --- BGUI Version ---

BGUI_DIR     = $(PREFS_DIR)BGUI/
BGUI_OBJ_DIR = $(BGUI_DIR)Obj/

BGUI_SRCS0 = $(BGUI_DIR)Root_Window.c \
             $(BGUI_DIR)Misc_window.c \
             $(BGUI_DIR)Blank_window.c \
             $(BGUI_DIR)Keydef_window.c \
             $(BGUI_DIR)MouseCycling_Window.c \
             $(BGUI_DIR)Options_Window.c \
             $(BGUI_DIR)Hotkey_window.c
BGUI_SRCS1 = $(PREFS_DIR)main.c \
             $(PREFS_DIR)gui.c \
             $(PREFS_DIR)Keydef.c \
             $(PREFS_DIR)Root_Menus.c \
             $(PREFS_DIR)Filereq.c

BGUI_OBJS0 = $(BGUI_SRCS0:"$(BGUI_DIR)*.c":"$(BGUI_OBJ_DIR)*.o")
BGUI_OBJS1 = $(BGUI_SRCS1:"$(PREFS_DIR)*.c":"$(BGUI_OBJ_DIR)*.o")


#-------------------------------------
# Files needed to build Convert
#-------------------------------------

CONV_DIR     = $(PREFS_DIR)Convert/
CONV_INC_DIR = $(CONV_DIR)Include/
CONV_OBJ_DIR = $(CONV_DIR)Obj/

CONV_SRCS0 = $(CONV_DIR)main.c \
             $(CONV_DIR)Hotkey_naming.c
CONV_SRCS1 = $(ROOT_DIR)settings.c \
             $(ROOT_DIR)Hotkey_types.c \
             $(ROOT_DIR)handlers.c \
             $(ROOT_DIR)Icon.c
CONV_SRCS2 = $(LOC_DIR)yak_locale_strings.c

CONV_OBJS0 = $(CONV_SRCS0:"$(CONV_DIR)*.c":"$(CONV_OBJ_DIR)*.o")
CONV_OBJS1 = $(CONV_SRCS1:"$(ROOT_DIR)*.c":"$(CONV_OBJ_DIR)*.o")
CONV_OBJS2 = $(CONV_SRCS2:"$(LOC_DIR)*.c":"$(CONV_OBJ_DIR)*.o")


#-------------------------------------
# Files needed to build Catalogs
#-------------------------------------

LANGUAGES = franais deutsch italiano svenska nederlands suomi dansk svenska
CTS       = $(LANGUAGES:*:"locale/%1.ct")
CATDIRS   = $(LANGUAGES:*:"catalogs/%1")
CATALOGS  = $(CATDIRS:*:"%1/yak.catalog")


#-------------------------------------------
# Miscellaneous
#-------------------------------------------

ARCHIVE_SRC = Yak21Src.lzx




#-------------------------------------
# DICE Compiler/Linker Options
#-------------------------------------

OPTS = -no-env -3.0 -// -proto -mi -ms -mRR -DBETA_VERSION

WBS_OPTS     = -DUSE_WB2CLI
WBS_INC_OPTS = -I$(ROOT_INC_DIR) -I$(WBS_INC_DIR) -I$(LOC_INC_DIR)
WBS_LIB_OPTS = $(ROOT_DIR)Lib/DWB2CLI.o -lreqtools

PREFS_OPTS     = $(OPTS) -DPREFS
PREFS_INC_OPTS = -I$(ROOT_INC_DIR) -I$(PREFS_INC_DIR) -I$(WBS_INC_DIR) -I$(LOC_INC_DIR)

GADTOOLS_OPTS     = $(PREFS_OPTS) -DGADTOOLS
GADTOOLS_INC_OPTS = -I$(ROOT_INC_DIR) -I$(PREFS_INC_DIR) -I$(LOC_INC_DIR)
GADTOOLS_LIB_OPTS =

MUI_OPTS     = $(PREFS_OPTS) -DMUI
MUI_INC_OPTS = -I$(ROOT_INC_DIR) -I$(PREFS_INC_DIR) -I$(LOC_INC_DIR)
MUI_LIB_OPTS = -lmui

BGUI_OPTS     = $(PREFS_OPTS) -DBGUI
BGUI_INC_OPTS = -I$(ROOT_INC_DIR) -I$(PREFS_INC_DIR) -I$(LOC_INC_DIR)
BGUI_LIB_OPTS = -lbgui

CONV_OPTS     = $(OPTS) -DCONV
CONV_INC_OPTS = -I$(ROOT_INC_DIR) -I$(PREFS_INC_DIR) -I$(CONV_INC_DIR) -I$(LOC_INC_DIR)
CONV_LIB_OPTS =


all: $(WBS_DIR)Yak $(GADTOOLS_DIR)Yak $(MUI_DIR)Yak $(BGUI_DIR)Yak $(CONV_DIR)Convert


#-------------------------------------------
# Yak commodity
#-------------------------------------------

$(WBS_DIR)Yak : $(WBS_OBJS0) $(WBS_OBJS1) $(WBS_OBJS2) $(VERS_OBJ)
   DCC $(OPTS) $(WBS_OPTS) %(right) $(WBS_LIB_OPTS) -o %(left)

$(WBS_OBJS2) $(WBS_OBJS1) $(WBS_OBJS0): $(WBS_SRCS2) $(WBS_SRCS1) $(WBS_SRCS0)
   DCC $(OPTS) $(WBS_OPTS) $(WBS_INC_OPTS) %(right) -o %(left) -c

$(WBS_OBJ_DIR)main.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(WBS_INC_DIR)Beep.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Icon.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(WBS_INC_DIR)Pri.h $(WBS_INC_DIR)UnixDirs.h $(LOC_INC_DIR)yak_locale_strings.h

$(WBS_OBJ_DIR)Pri.o : $(ROOT_INC_DIR)yak.h $(WBS_INC_DIR)Pri.h

$(WBS_OBJ_DIR)Hotkey_actions.o : $(ROOT_INC_DIR)Code.h  $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)GetPubScreen.h $(WBS_INC_DIR)Arexx.h $(WBS_INC_DIR)LastActiveWindow.h $(LOC_INC_DIR)yak_locale_strings.h

$(WBS_OBJ_DIR)LastActiveWindow.o : $(ROOT_INC_DIR)Code.h $(WBS_INC_DIR)LastActiveWindow.h

$(WBS_OBJ_DIR)Beep.o : $(WBS_INC_DIR)Beep.h

$(WBS_OBJ_DIR)Clickdrive.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(WBS_INC_DIR)ClickDrive.h

$(WBS_OBJ_DIR)Blackborder.o : $(WBS_INC_DIR)Blackborder.h

$(WBS_OBJ_DIR)Patch_libs.o : $(ROOT_INC_DIR)Code.h $(WBS_INC_DIR)Patch_Libs.h

$(WBS_OBJ_DIR)UnixDirs.o : $(WBS_INC_DIR)Patch_Libs.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)settings.h

$(WBS_OBJ_DIR)MMB_Shift.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(WBS_INC_DIR)MMB_Shift.h

$(WBS_OBJ_DIR)ARexx.o : $(ROOT_INC_DIR)yak.h $(WBS_INC_DIR)Arexx.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(WBS_OBJ_DIR)handlers.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(WBS_INC_DIR)Beep.h $(WBS_INC_DIR)LastActiveWindow.h $(WBS_INC_DIR)CapShift.h

$(WBS_OBJ_DIR)Hotkey_types.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(WBS_OBJ_DIR)settings.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h $(WBS_INC_DIR)ClickDrive.h $(WBS_INC_DIR)Blackborder.h $(WBS_INC_DIR)MMB_Shift.h $(WBS_INC_DIR)UnixDirs.h

$(WBS_OBJ_DIR)Icon.o : $(ROOT_INC_DIR)Icon.h

$(WBS_OBJ_DIR)GetPubScreen.o : $(ROOT_INC_DIR)GetPubScreen.h

$(WBS_OBJ_DIR)Requesters.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Requesters.h

$(WBS_OBJ_DIR)FullWorkbench.o : $(WBS_INC_DIR)FullWorkbench.h

$(WBS_OBJ_DIR)CapShift.o : $(WBS_INC_DIR)CapShift.h

$(WBS_OBJ_DIR)yak_locale_strings.o : $(ROOT_INC_DIR)Requesters.h


#-------------------------------------------
# Prefs program
#-------------------------------------------

# --- GadTools Version ---

$(GADTOOLS_DIR)Yak : $(PREFS_OBJS0) $(PREFS_OBJS1) $(GADTOOLS_OBJS0) $(GADTOOLS_OBJS1) $(VERS_OBJ)
   DCC $(GADTOOLS_OPTS) %(right) $(GADTOOLS_LIB_OPTS) -o %(left)

$(GADTOOLS_OBJS0) $(GADTOOLS_OBJS1) : $(GADTOOLS_SRCS0) $(GADTOOLS_SRCS1)
   DCC $(GADTOOLS_OPTS) $(GADTOOLS_INC_OPTS) %(right) -o %(left) -c

$(GADTOOLS_OBJ_DIR)Root_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Filereq.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)Misc_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Misc_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)Blank_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Blank_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)Keydef_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Keydef_Window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)MouseCycling_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)MouseCycling_Window.h $(PREFS_INC_DIR)Keydef_Window.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)Options_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)options_window.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)Hotkey_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Hotkey_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)options_window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)main.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)Icon.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)gui.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)GetPubScreen.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)Root_window.h $(PREFS_INC_DIR)MouseCycling_window.h $(PREFS_INC_DIR)options_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)Blank_window.h $(PREFS_INC_DIR)Misc_window.h $(PREFS_INC_DIR)Hotkey_window.h $(ROOT_INC_DIR)Options_window.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h

$(GADTOOLS_OBJ_DIR)keydef.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)Keydef_window.h

$(GADTOOLS_OBJ_DIR)Root_Menus.o : $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h

$(GADTOOLS_OBJ_DIR)Filereq.o : $(ROOT_INC_DIR)Code.h $(PREFS_INC_DIR)Filereq.h


# --- MUI Version ---

$(MUI_DIR)Yak : $(PREFS_OBJS0) $(PREFS_OBJS1) $(MUI_OBJS0) $(MUI_OBJS1) $(VERS_OBJ)
   DCC $(MUI_OPTS) %(right) $(MUI_LIB_OPTS) -o %(left)

$(MUI_OBJS0) $(MUI_OBJS1) : $(MUI_SRCS0) $(MUI_SRCS1)
   DCC $(MUI_OPTS) $(MUI_INC_OPTS) %(right) -o %(left) -c


$(MUI_OBJ_DIR)Root_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)Filereq.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)Blank_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Blank_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)Misc_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Misc_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)MouseCycling_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)MouseCycling_Window.h $(PREFS_INC_DIR)Keydef_Window.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)Keydef_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Keydef_Window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)Hotkey_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Hotkey_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)options_window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)Options_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)options_window.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)main.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)Icon.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)gui.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)GetPubScreen.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)Root_window.h $(PREFS_INC_DIR)MouseCycling_window.h $(PREFS_INC_DIR)options_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)Blank_window.h $(PREFS_INC_DIR)Misc_window.h $(PREFS_INC_DIR)Hotkey_window.h $(ROOT_INC_DIR)Options_window.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h

$(MUI_OBJ_DIR)keydef.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)Keydef_window.h

$(MUI_OBJ_DIR)Root_Menus.o : $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h

$(MUI_OBJ_DIR)Filereq.o : $(ROOT_INC_DIR)Code.h $(PREFS_INC_DIR)Filereq.h


# --- BGUI Version ---

$(BGUI_DIR)Yak : $(PREFS_OBJS0) $(PREFS_OBJS1) $(BGUI_OBJS0) $(BGUI_OBJS1) $(VERS_OBJ)
   DCC $(BGUI_OPTS) %(right) $(BGUI_LIB_OPTS) -o %(left)

$(BGUI_OBJS0) $(BGUI_OBJS1) : $(BGUI_SRCS0) $(BGUI_SRCS1)
   DCC $(BGUI_OPTS) $(BGUI_INC_OPTS) %(right) -o %(left) -c


$(BGUI_OBJ_DIR)Root_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Filereq.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)Misc_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Misc_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)Blank_window.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Blank_Window.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)Keydef_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Keydef_Window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)MouseCycling_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)MouseCycling_Window.h $(PREFS_INC_DIR)Keydef_Window.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)Options_Window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)options_window.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)Hotkey_window.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Hotkey_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)options_window.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)main.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)Icon.h $(ROOT_INC_DIR)Version.h $(PREFS_INC_DIR)gui.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)gui.o : $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Version.h $(ROOT_INC_DIR)GetPubScreen.h $(ROOT_INC_DIR)Hotkey_types.h $(PREFS_INC_DIR)Root_window.h $(PREFS_INC_DIR)MouseCycling_window.h $(PREFS_INC_DIR)options_window.h $(PREFS_INC_DIR)Keydef_window.h $(PREFS_INC_DIR)Blank_window.h $(PREFS_INC_DIR)Misc_window.h $(PREFS_INC_DIR)Hotkey_window.h $(ROOT_INC_DIR)Options_window.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)settings.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h

$(BGUI_OBJ_DIR)keydef.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)keydef.h $(PREFS_INC_DIR)Keydef_window.h

$(BGUI_OBJ_DIR)Root_Menus.o : $(ROOT_INC_DIR)yak.h $(PREFS_INC_DIR)gui.h $(LOC_INC_DIR)yak_locale_strings.h $(PREFS_INC_DIR)Root_Window.h $(PREFS_INC_DIR)Root_Menus.h

$(BGUI_OBJ_DIR)Filereq.o : $(ROOT_INC_DIR)Code.h $(PREFS_INC_DIR)Filereq.h


# --- All Version ---

$(PREFS_OBJS0) $(PREFS_OBJS1) : $(PREFS_SRCS0) $(PREFS_SRCS1)
   DCC $(PREFS_OPTS) $(PREFS_INC_OPTS) %(right) -o %(left) -c

$(PREFS_OBJ_DIR)Hotkey_actions.o : $(ROOT_INC_DIR)Code.h  $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)GetPubScreen.h $(WBS_INC_DIR)Arexx.h $(WBS_INC_DIR)LastActiveWindow.h $(LOC_INC_DIR)yak_locale_strings.h

$(PREFS_OBJ_DIR)settings.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Root_window.h $(PREFS_INC_DIR)Blank_window.h $(PREFS_INC_DIR)Misc_window.h

$(PREFS_OBJ_DIR)Icon.o : $(ROOT_INC_DIR)Icon.h

$(PREFS_OBJ_DIR)handlers.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(WBS_INC_DIR)Beep.h $(WBS_INC_DIR)LastActiveWindow.h

$(PREFS_OBJ_DIR)Requesters.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)Requesters.h

$(PREFS_OBJ_DIR)GetPubScreen.o : $(ROOT_INC_DIR)GetPubScreen.h

$(PREFS_OBJ_DIR)yak_locale_strings.o : $(ROOT_INC_DIR)Requesters.h


#-------------------------------------------
# Convert
#-------------------------------------------

$(CONV_DIR)Convert : $(CONV_OBJS0) $(CONV_OBJS1) $(CONV_OBJS2) $(VERS_OBJ)
   DCC $(CONV_OPTS) %(right) $(CONV_LIB_OPTS) -o %(left)

$(CONV_OBJS2) $(CONV_OBJS1) $(CONV_OBJS0): $(CONV_SRCS2) $(CONV_SRCS1) $(CONV_SRCS0)
   DCC $(CONV_OPTS) $(CONV_INC_OPTS) %(right) -o %(left) -c

$(CONV_OBJ_DIR)main.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(CONV_INC_DIR)hotkey_naming.h $(ROOT_INC_DIR)Icon.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h

$(CONV_OBJ_DIR)Hotkey_naming.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(CONV_INC_DIR)hotkey_naming.h $(LOC_INC_DIR)yak_locale_strings.h

$(CONV_OBJ_DIR)settings.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Requesters.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)settings.h $(LOC_INC_DIR)yak_locale_strings.h $(PREFS_INC_DIR)gui.h $(PREFS_INC_DIR)Root_window.h $(PREFS_INC_DIR)Blank_window.h $(PREFS_INC_DIR)Misc_window.h

$(CONV_OBJ_DIR)Hotkey_types.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)Hotkey_types.h $(ROOT_INC_DIR)Requesters.h $(LOC_INC_DIR)yak_locale_strings.h

$(CONV_OBJ_DIR)handlers.o : $(ROOT_INC_DIR)Code.h $(ROOT_INC_DIR)yak.h $(ROOT_INC_DIR)settings.h $(ROOT_INC_DIR)handlers.h $(ROOT_INC_DIR)Hotkey_types.h $(WBS_INC_DIR)Beep.h $(WBS_INC_DIR)LastActiveWindow.h

$(CONV_OBJ_DIR)Icon.o : $(ROOT_INC_DIR)Icon.h

$(CONV_OBJ_DIR)yak_locale_strings.o : $(ROOT_INC_DIR)Requesters.h


#-------------------------------------------
# Version
#-------------------------------------------

$(VERS_OBJ) :
   DCC $(OPTS) $(VERS_SRC) -I$(ROOT_INC_DIR) -o $(VERS_OBJ) -c


#-------------------------------------------
# Localization
#-------------------------------------------

$(LOC_DIR)yak_locale_strings.c : $(LOC_DIR)yak.cd $(LOC_DIR)yak_c.sd
    flexcat $(LOC_DIR)yak.cd %(left)=$(LOC_DIR)yak_c.sd

$(LOC_DIR)yak_locale_strings.h : $(LOC_DIR)yak.cd $(LOC_DIR)yak_h.sd
    flexcat $(LOC_DIR)yak.cd %(left)=$(LOC_DIR)yak_h.sd



#-------------------------------------------
# Catalogs
#-------------------------------------------

catalogs: $(LOC_DIR)yak.ct catalogs $(CATDIRS) $(CATALOGS)

$(CATALOGS) : $(CTS)
    catcomp $(LOC_DIR)yak.cd %(right) catalog %(left)

catalogs $(CATDIRS) : catalogs $(CATDIRS)
    makedir %(left)

$(LOC_DIR)yak.ct : $(LOC_DIR)yak.cd
    catcomp $(LOC_DIR)yak.cd CTFILE $(LOC_DIR)yak.ct



#-------------------------------------------
#
#-------------------------------------------
clean:
    -delete $(VERS_OBJ) QUIET
    -delete $(WBS_OBJS0) $(WBS_OBJS1) $(WBS_OBJS2) QUIET
    -delete $(PREFS_OBJS0) $(PREFS_OBJS1) QUIET
    -delete $(GADTOOLS_OBJS0) $(GADTOOLS_OBJS1) QUIET
    -delete $(MUI_OBJS0) $(MUI_OBJS1) QUIET
    -delete $(BGUI_OBJS0) $(BGUI_OBJS1) QUIET
    -delete $(CONV_OBJS0) $(CONV_OBJS1) $(CONV_OBJS2) QUIET
    -delete $(LOC_DIR)yak_locale_strings.? QUIET


arc: clean
    cd /
    -delete $(ARCHIVE_SRC) QUIET
    lzx a -a -r -x -3  $(ARCHIVE_SRC) Yak_2.1_src Yak_2.1_src.info
    cd
