The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

!IF "$(CFG)" == "Win64"
BUILDBITS= 64
!ELSE
BUILDBITS= 32
!ENDIF

PERL   = perl 
CP     = $(PERL) -MExtUtils::Command -e cp --
RM_F   = $(PERL) -MExtUtils::Command -e rm_f --
MKPATH = $(PERL) -MExtUtils::Command -e mkpath --

### GLOBAL PART ###

BUILDNICK= msvc

PREFIX   = ../_output_
INCDIR   = $(PREFIX)/include
LIBDIR   = $(PREFIX)/lib

CF_ALL   = -DTEC_UNAME=vc9 -DTEC_SYSNAME=Win32 -DTEC_LITTLEENDIAN -DTEC_32 -DWIN32 -DNDEBUG -I"$(INCDIR)"
LF_ALL   = -L./lib/$(BUILDNICK) -L"$(LIBDIR)"

VER_OBJ      = version.o
VER_RC       = version.rc

BUILD_DIRS   = ./obj/$(BUILDNICK)/iup ./obj/$(BUILDNICK)/iupcd ./obj/$(BUILDNICK)/iupcontrols ./obj/$(BUILDNICK)/iup_pplot ./obj/$(BUILDNICK)/iup_mglplot ./obj/$(BUILDNICK)/iupgl ./obj/$(BUILDNICK)/iupim ./obj/$(BUILDNICK)/iupimglib ./obj/$(BUILDNICK)/iupole ./obj/$(BUILDNICK)/iuptuio ./lib/$(BUILDNICK)

ALL_OBJS     = $(OBJS_iup) $(OBJS_iupcd) $(OBJS_iupcontrols) $(OBJS_iup_pplot) $(OBJS_iup_mglplot) $(OBJS_iupgl) $(OBJS_iupim) $(OBJS_iupimglib) $(OBJS_iupole) $(OBJS_iuptuio)

STATIC_LIBS  = $(SLIB_iup) $(SLIB_iupcd) $(SLIB_iupcontrols) $(SLIB_iup_pplot) $(SLIB_iup_mglplot) $(SLIB_iupgl) $(SLIB_iupim) $(SLIB_iupimglib) $(SLIB_iupole) $(SLIB_iuptuio)

DYNAMIC_LIBS = $(DLIB_iup) $(ILIB_iup) $(DLIB_iupcd) $(ILIB_iupcd) $(DLIB_iupcontrols) $(ILIB_iupcontrols) $(DLIB_iup_pplot) $(ILIB_iup_pplot) $(DLIB_iup_mglplot) $(ILIB_iup_mglplot) $(DLIB_iupgl) $(ILIB_iupgl) $(DLIB_iupim) $(ILIB_iupim) $(DLIB_iupimglib) $(ILIB_iupimglib) $(DLIB_iupole) $(ILIB_iupole) $(DLIB_iuptuio) $(ILIB_iuptuio)

ALL_LIBS     = $(STATIC_LIBS) $(DYNAMIC_LIBS)

all: all-static all-dynamic


### START OF iup ###
CF_iup   = -c   -O2 -Iinclude -Isrc -Isrc/win -Ietc   -D_WIN32_WINNT=0x0501 -D_WIN32_IE=0x0501 -DWINVER=0x0501 -DNOTREEVIEW -DIUP_DLL -DWIN32 $(CF_iup_EXTRA)
LF_iup   = -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iup_EXTRA)
SLIB_iup = ./lib/$(BUILDNICK)/iup.lib
DLIB_iup = ./lib/$(BUILDNICK)/libiup.dll.a
ILIB_iup = ./lib/$(BUILDNICK)/iup_alien_.dll
OBJS_iup = ./obj/$(BUILDNICK)/iup/iup_array.obj ./obj/$(BUILDNICK)/iup/iup_callback.obj ./obj/$(BUILDNICK)/iup/iup_dlglist.obj ./obj/$(BUILDNICK)/iup/iup_attrib.obj ./obj/$(BUILDNICK)/iup/iup_focus.obj ./obj/$(BUILDNICK)/iup/iup_font.obj ./obj/$(BUILDNICK)/iup/iup_globalattrib.obj ./obj/$(BUILDNICK)/iup/iup_object.obj ./obj/$(BUILDNICK)/iup/iup_key.obj ./obj/$(BUILDNICK)/iup/iup_layout.obj ./obj/$(BUILDNICK)/iup/iup_ledlex.obj ./obj/$(BUILDNICK)/iup/iup_names.obj ./obj/$(BUILDNICK)/iup/iup_open.obj ./obj/$(BUILDNICK)/iup/iup_ledparse.obj ./obj/$(BUILDNICK)/iup/iup_predialogs.obj ./obj/$(BUILDNICK)/iup/iup_register.obj ./obj/$(BUILDNICK)/iup/iup_scanf.obj ./obj/$(BUILDNICK)/iup/iup_show.obj ./obj/$(BUILDNICK)/iup/iup_str.obj ./obj/$(BUILDNICK)/iup/iup_table.obj ./obj/$(BUILDNICK)/iup/iup_func.obj ./obj/$(BUILDNICK)/iup/iup_childtree.obj ./obj/$(BUILDNICK)/iup/iup.obj ./obj/$(BUILDNICK)/iup/iup_classattrib.obj ./obj/$(BUILDNICK)/iup/iup_dialog.obj ./obj/$(BUILDNICK)/iup/iup_assert.obj ./obj/$(BUILDNICK)/iup/iup_canvas.obj ./obj/$(BUILDNICK)/iup/iup_messagedlg.obj ./obj/$(BUILDNICK)/iup/iup_timer.obj ./obj/$(BUILDNICK)/iup/iup_image.obj ./obj/$(BUILDNICK)/iup/iup_label.obj ./obj/$(BUILDNICK)/iup/iup_fill.obj ./obj/$(BUILDNICK)/iup/iup_zbox.obj ./obj/$(BUILDNICK)/iup/iup_colordlg.obj ./obj/$(BUILDNICK)/iup/iup_fontdlg.obj ./obj/$(BUILDNICK)/iup/iup_filedlg.obj ./obj/$(BUILDNICK)/iup/iup_strmessage.obj ./obj/$(BUILDNICK)/iup/iup_menu.obj ./obj/$(BUILDNICK)/iup/iup_frame.obj ./obj/$(BUILDNICK)/iup/iup_user.obj ./obj/$(BUILDNICK)/iup/iup_button.obj ./obj/$(BUILDNICK)/iup/iup_radio.obj ./obj/$(BUILDNICK)/iup/iup_toggle.obj ./obj/$(BUILDNICK)/iup/iup_progressbar.obj ./obj/$(BUILDNICK)/iup/iup_text.obj ./obj/$(BUILDNICK)/iup/iup_val.obj ./obj/$(BUILDNICK)/iup/iup_box.obj ./obj/$(BUILDNICK)/iup/iup_hbox.obj ./obj/$(BUILDNICK)/iup/iup_vbox.obj ./obj/$(BUILDNICK)/iup/iup_cbox.obj ./obj/$(BUILDNICK)/iup/iup_class.obj ./obj/$(BUILDNICK)/iup/iup_classbase.obj ./obj/$(BUILDNICK)/iup/iup_maskmatch.obj ./obj/$(BUILDNICK)/iup/iup_mask.obj ./obj/$(BUILDNICK)/iup/iup_maskparse.obj ./obj/$(BUILDNICK)/iup/iup_tabs.obj ./obj/$(BUILDNICK)/iup/iup_spin.obj ./obj/$(BUILDNICK)/iup/iup_list.obj ./obj/$(BUILDNICK)/iup/iup_getparam.obj ./obj/$(BUILDNICK)/iup/iup_sbox.obj ./obj/$(BUILDNICK)/iup/iup_normalizer.obj ./obj/$(BUILDNICK)/iup/iup_tree.obj ./obj/$(BUILDNICK)/iup/iup_split.obj ./obj/$(BUILDNICK)/iup/iup_layoutdlg.obj ./obj/$(BUILDNICK)/iup/iup_recplay.obj ./obj/$(BUILDNICK)/iup/iupwin_common.obj ./obj/$(BUILDNICK)/iup/iupwin_brush.obj ./obj/$(BUILDNICK)/iup/iupwin_focus.obj ./obj/$(BUILDNICK)/iup/iupwin_font.obj ./obj/$(BUILDNICK)/iup/iupwin_globalattrib.obj ./obj/$(BUILDNICK)/iup/iupwin_handle.obj ./obj/$(BUILDNICK)/iup/iupwin_key.obj ./obj/$(BUILDNICK)/iup/iupwin_loop.obj ./obj/$(BUILDNICK)/iup/iupwin_open.obj ./obj/$(BUILDNICK)/iup/iupwin_tips.obj ./obj/$(BUILDNICK)/iup/iupwin_info.obj ./obj/$(BUILDNICK)/iup/iupwin_dialog.obj ./obj/$(BUILDNICK)/iup/iupwin_messagedlg.obj ./obj/$(BUILDNICK)/iup/iupwin_timer.obj ./obj/$(BUILDNICK)/iup/iupwin_image.obj ./obj/$(BUILDNICK)/iup/iupwin_label.obj ./obj/$(BUILDNICK)/iup/iupwin_canvas.obj ./obj/$(BUILDNICK)/iup/iupwin_frame.obj ./obj/$(BUILDNICK)/iup/iupwin_colordlg.obj ./obj/$(BUILDNICK)/iup/iupwin_fontdlg.obj ./obj/$(BUILDNICK)/iup/iupwin_filedlg.obj ./obj/$(BUILDNICK)/iup/iupwin_dragdrop.obj ./obj/$(BUILDNICK)/iup/iupwin_button.obj ./obj/$(BUILDNICK)/iup/iupwin_draw.obj ./obj/$(BUILDNICK)/iup/iupwin_toggle.obj ./obj/$(BUILDNICK)/iup/iupwin_clipboard.obj ./obj/$(BUILDNICK)/iup/iupwin_progressbar.obj ./obj/$(BUILDNICK)/iup/iupwin_text.obj ./obj/$(BUILDNICK)/iup/iupwin_val.obj ./obj/$(BUILDNICK)/iup/iupwin_touch.obj ./obj/$(BUILDNICK)/iup/iupwin_tabs.obj ./obj/$(BUILDNICK)/iup/iupwin_menu.obj ./obj/$(BUILDNICK)/iup/iupwin_list.obj ./obj/$(BUILDNICK)/iup/iupwin_tree.obj ./obj/$(BUILDNICK)/iup/iupwindows_main.obj ./obj/$(BUILDNICK)/iup/iupwindows_help.obj ./obj/$(BUILDNICK)/iup/iupwindows_info.obj

./obj/$(BUILDNICK)/iup/iup_array.obj : src/iup_array.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_callback.obj : src/iup_callback.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_dlglist.obj : src/iup_dlglist.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_attrib.obj : src/iup_attrib.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_focus.obj : src/iup_focus.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_font.obj : src/iup_font.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_globalattrib.obj : src/iup_globalattrib.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_object.obj : src/iup_object.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_key.obj : src/iup_key.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_layout.obj : src/iup_layout.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_ledlex.obj : src/iup_ledlex.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_names.obj : src/iup_names.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_open.obj : src/iup_open.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_ledparse.obj : src/iup_ledparse.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_predialogs.obj : src/iup_predialogs.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_register.obj : src/iup_register.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_scanf.obj : src/iup_scanf.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_show.obj : src/iup_show.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_str.obj : src/iup_str.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_table.obj : src/iup_table.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_func.obj : src/iup_func.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_childtree.obj : src/iup_childtree.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup.obj : src/iup.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_classattrib.obj : src/iup_classattrib.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_dialog.obj : src/iup_dialog.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_assert.obj : src/iup_assert.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_canvas.obj : src/iup_canvas.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_messagedlg.obj : src/iup_messagedlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_timer.obj : src/iup_timer.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_image.obj : src/iup_image.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_label.obj : src/iup_label.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_fill.obj : src/iup_fill.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_zbox.obj : src/iup_zbox.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_colordlg.obj : src/iup_colordlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_fontdlg.obj : src/iup_fontdlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_filedlg.obj : src/iup_filedlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_strmessage.obj : src/iup_strmessage.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_menu.obj : src/iup_menu.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_frame.obj : src/iup_frame.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_user.obj : src/iup_user.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_button.obj : src/iup_button.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_radio.obj : src/iup_radio.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_toggle.obj : src/iup_toggle.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_progressbar.obj : src/iup_progressbar.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_text.obj : src/iup_text.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_val.obj : src/iup_val.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_box.obj : src/iup_box.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_hbox.obj : src/iup_hbox.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_vbox.obj : src/iup_vbox.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_cbox.obj : src/iup_cbox.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_class.obj : src/iup_class.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_classbase.obj : src/iup_classbase.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_maskmatch.obj : src/iup_maskmatch.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_mask.obj : src/iup_mask.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_maskparse.obj : src/iup_maskparse.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_tabs.obj : src/iup_tabs.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_spin.obj : src/iup_spin.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_list.obj : src/iup_list.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_getparam.obj : src/iup_getparam.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_sbox.obj : src/iup_sbox.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_normalizer.obj : src/iup_normalizer.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_tree.obj : src/iup_tree.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_split.obj : src/iup_split.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_layoutdlg.obj : src/iup_layoutdlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iup_recplay.obj : src/iup_recplay.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_common.obj : src/win/iupwin_common.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_brush.obj : src/win/iupwin_brush.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_focus.obj : src/win/iupwin_focus.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_font.obj : src/win/iupwin_font.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_globalattrib.obj : src/win/iupwin_globalattrib.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_handle.obj : src/win/iupwin_handle.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_key.obj : src/win/iupwin_key.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_loop.obj : src/win/iupwin_loop.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_open.obj : src/win/iupwin_open.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_tips.obj : src/win/iupwin_tips.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_info.obj : src/win/iupwin_info.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_dialog.obj : src/win/iupwin_dialog.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_messagedlg.obj : src/win/iupwin_messagedlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_timer.obj : src/win/iupwin_timer.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_image.obj : src/win/iupwin_image.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_label.obj : src/win/iupwin_label.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_canvas.obj : src/win/iupwin_canvas.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_frame.obj : src/win/iupwin_frame.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_colordlg.obj : src/win/iupwin_colordlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_fontdlg.obj : src/win/iupwin_fontdlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_filedlg.obj : src/win/iupwin_filedlg.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_dragdrop.obj : src/win/iupwin_dragdrop.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_button.obj : src/win/iupwin_button.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_draw.obj : src/win/iupwin_draw.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_toggle.obj : src/win/iupwin_toggle.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_clipboard.obj : src/win/iupwin_clipboard.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_progressbar.obj : src/win/iupwin_progressbar.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_text.obj : src/win/iupwin_text.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_val.obj : src/win/iupwin_val.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_touch.obj : src/win/iupwin_touch.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_tabs.obj : src/win/iupwin_tabs.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_menu.obj : src/win/iupwin_menu.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_list.obj : src/win/iupwin_list.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwin_tree.obj : src/win/iupwin_tree.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwindows_main.obj : src/win/iupwindows_main.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwindows_help.obj : src/win/iupwindows_help.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**
./obj/$(BUILDNICK)/iup/iupwindows_info.obj : src/win/iupwindows_info.c ; cl $(CF_ALL) $(CF_iup) /Fo$@ $**

$(SLIB_iup): $(OBJS_iup)
	lib /OUT:$@ $**

$(ILIB_iup) $(DLIB_iup) : $(OBJS_iup)
	xxxg++ -s -shared -o $(ILIB_iup) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iup) $(LF_iup) $(LF_ALL)

iup-static: build-dirs $(SLIB_iup)
iup-dynamic: build-dirs $(ILIB_iup) $(DLIB_iup) 

### START OF iupcd ###
CF_iupcd   = -c   -O2 -Iinclude -I../cd/include   -DCD_NO_OLD_INTERFACE -DWIN32 $(CF_iupcd_EXTRA)
LF_iupcd   = -L../cd/lib/$(BUILDNICK) -liup -lcd -lfreetype6 -lzlib1 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupcd_EXTRA)
SLIB_iupcd = ./lib/$(BUILDNICK)/iupcd.lib
DLIB_iupcd = ./lib/$(BUILDNICK)/libiupcd.dll.a
ILIB_iupcd = ./lib/$(BUILDNICK)/iupcd_alien_.dll
OBJS_iupcd = ./obj/$(BUILDNICK)/iupcd/iup_cd.obj

./obj/$(BUILDNICK)/iupcd/iup_cd.obj : srccd/iup_cd.c ; cl $(CF_ALL) $(CF_iupcd) /Fo$@ $**

$(SLIB_iupcd): $(OBJS_iupcd)
	lib /OUT:$@ $**

$(ILIB_iupcd) $(DLIB_iupcd) : $(OBJS_iupcd)
	xxxg++ -s -shared -o $(ILIB_iupcd) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupcd) $(LF_iupcd) $(LF_ALL)

iupcd-static: build-dirs $(SLIB_iupcd)
iupcd-dynamic: build-dirs $(ILIB_iupcd) $(DLIB_iupcd) 

### START OF iupcontrols ###
CF_iupcontrols   = -c   -O2 -Iinclude -Isrc -Isrccontrols -I../cd/include    -DWIN32 $(CF_iupcontrols_EXTRA)
LF_iupcontrols   = -L../cd/lib/$(BUILDNICK) -liup -liupcd -lcd -lfreetype6 -lzlib1 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupcontrols_EXTRA)
SLIB_iupcontrols = ./lib/$(BUILDNICK)/iupcontrols.lib
DLIB_iupcontrols = ./lib/$(BUILDNICK)/libiupcontrols.dll.a
ILIB_iupcontrols = ./lib/$(BUILDNICK)/iupcontrols_alien_.dll
OBJS_iupcontrols = ./obj/$(BUILDNICK)/iupcontrols/iup_cdutil.obj ./obj/$(BUILDNICK)/iupcontrols/iup_gauge.obj ./obj/$(BUILDNICK)/iupcontrols/iup_cells.obj ./obj/$(BUILDNICK)/iupcontrols/iup_colorbar.obj ./obj/$(BUILDNICK)/iupcontrols/iup_controls.obj ./obj/$(BUILDNICK)/iupcontrols/iup_dial.obj ./obj/$(BUILDNICK)/iupcontrols/iup_oldmask.obj ./obj/$(BUILDNICK)/iupcontrols/iup_colorbrowser.obj ./obj/$(BUILDNICK)/iupcontrols/iup_colorhsi.obj ./obj/$(BUILDNICK)/iupcontrols/iup_colorbrowserdlg.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_key.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_mark.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_aux.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_mem.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_mouse.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_numlc.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_colres.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_draw.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_getset.obj ./obj/$(BUILDNICK)/iupcontrols/iupmatrix.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_scroll.obj ./obj/$(BUILDNICK)/iupcontrols/iupmat_edit.obj

./obj/$(BUILDNICK)/iupcontrols/iup_cdutil.obj : srccontrols/iup_cdutil.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_gauge.obj : srccontrols/iup_gauge.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_cells.obj : srccontrols/iup_cells.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_colorbar.obj : srccontrols/iup_colorbar.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_controls.obj : srccontrols/iup_controls.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_dial.obj : srccontrols/iup_dial.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_oldmask.obj : srccontrols/iup_oldmask.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_colorbrowser.obj : srccontrols/color/iup_colorbrowser.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_colorhsi.obj : srccontrols/color/iup_colorhsi.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iup_colorbrowserdlg.obj : srccontrols/color/iup_colorbrowserdlg.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_key.obj : srccontrols/matrix/iupmat_key.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_mark.obj : srccontrols/matrix/iupmat_mark.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_aux.obj : srccontrols/matrix/iupmat_aux.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_mem.obj : srccontrols/matrix/iupmat_mem.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_mouse.obj : srccontrols/matrix/iupmat_mouse.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_numlc.obj : srccontrols/matrix/iupmat_numlc.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_colres.obj : srccontrols/matrix/iupmat_colres.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_draw.obj : srccontrols/matrix/iupmat_draw.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_getset.obj : srccontrols/matrix/iupmat_getset.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmatrix.obj : srccontrols/matrix/iupmatrix.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_scroll.obj : srccontrols/matrix/iupmat_scroll.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**
./obj/$(BUILDNICK)/iupcontrols/iupmat_edit.obj : srccontrols/matrix/iupmat_edit.c ; cl $(CF_ALL) $(CF_iupcontrols) /Fo$@ $**

$(SLIB_iupcontrols): $(OBJS_iupcontrols)
	lib /OUT:$@ $**

$(ILIB_iupcontrols) $(DLIB_iupcontrols) : $(OBJS_iupcontrols)
	xxxg++ -s -shared -o $(ILIB_iupcontrols) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupcontrols) $(LF_iupcontrols) $(LF_ALL)

iupcontrols-static: build-dirs $(SLIB_iupcontrols)
iupcontrols-dynamic: build-dirs $(ILIB_iupcontrols) $(DLIB_iupcontrols) 

### START OF iup_pplot ###
CF_iup_pplot   = -c   -O2 -Iinclude -Isrc -I../cd/include   -D_IUP_PPLOT_ -DCD_NO_OLD_INTERFACE -DWIN32 $(CF_iup_pplot_EXTRA)
LF_iup_pplot   = -L../cd/lib/$(BUILDNICK) -liup -liupcd -lcd -lfreetype6 -lzlib1 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iup_pplot_EXTRA)
SLIB_iup_pplot = ./lib/$(BUILDNICK)/iup_pplot.lib
DLIB_iup_pplot = ./lib/$(BUILDNICK)/libiup_pplot.dll.a
ILIB_iup_pplot = ./lib/$(BUILDNICK)/iup_pplot_alien_.dll
OBJS_iup_pplot = ./obj/$(BUILDNICK)/iup_pplot/iupPPlot.obj ./obj/$(BUILDNICK)/iup_pplot/iupPPlotInteraction.obj ./obj/$(BUILDNICK)/iup_pplot/iup_pplot.obj

./obj/$(BUILDNICK)/iup_pplot/iupPPlot.obj : srcpplot/iupPPlot.cpp ; cl $(CF_ALL) $(CF_iup_pplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_pplot/iupPPlotInteraction.obj : srcpplot/iupPPlotInteraction.cpp ; cl $(CF_ALL) $(CF_iup_pplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_pplot/iup_pplot.obj : srcpplot/iup_pplot.cpp ; cl $(CF_ALL) $(CF_iup_pplot) /Fo$@ $**

$(SLIB_iup_pplot): $(OBJS_iup_pplot)
	lib /OUT:$@ $**

$(ILIB_iup_pplot) $(DLIB_iup_pplot) : $(OBJS_iup_pplot)
	xxxg++ -s -shared -o $(ILIB_iup_pplot) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iup_pplot) $(LF_iup_pplot) $(LF_ALL)

iup_pplot-static: build-dirs $(SLIB_iup_pplot)
iup_pplot-dynamic: build-dirs $(ILIB_iup_pplot) $(DLIB_iup_pplot) 

### START OF iup_mglplot ###
CF_iup_mglplot   = -c   -O2 -Iinclude -Isrc -Isrcmglplot -Isrcmglplot/ftgl -Isrcmglplot/freetype   -DFTGL_LIBRARY_STATIC -DNO_PNG -DNO_GSL -DWIN32 $(CF_iup_mglplot_EXTRA)
LF_iup_mglplot   = -liup -liupgl -lfreetype6 -lglaux -lglu32 -lopengl32 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iup_mglplot_EXTRA)
SLIB_iup_mglplot = ./lib/$(BUILDNICK)/iup_mglplot.lib
DLIB_iup_mglplot = ./lib/$(BUILDNICK)/libiup_mglplot.dll.a
ILIB_iup_mglplot = ./lib/$(BUILDNICK)/iup_mglplot_alien_.dll
OBJS_iup_mglplot = ./obj/$(BUILDNICK)/iup_mglplot/iup_mglplot.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_makefont.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_1d.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_crust.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_evalc.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_2d.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_data.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_evalp.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_main.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_3d.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_data_cf.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_exec.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_parse.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_ab.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_data_io.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_export.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_pde.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_addon.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_data_png.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_fit.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_tex_table.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_axis.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_def_font.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_flow.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_vect.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_combi.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_eps.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_font.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_zb.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_cont.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_eval.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_gl.obj ./obj/$(BUILDNICK)/iup_mglplot/mgl_zb2.obj ./obj/$(BUILDNICK)/iup_mglplot/FTGlyph.obj ./obj/$(BUILDNICK)/iup_mglplot/FTFont.obj ./obj/$(BUILDNICK)/iup_mglplot/FTCharmap.obj ./obj/$(BUILDNICK)/iup_mglplot/FTContour.obj ./obj/$(BUILDNICK)/iup_mglplot/FTFace.obj ./obj/$(BUILDNICK)/iup_mglplot/FTGlyphContainer.obj ./obj/$(BUILDNICK)/iup_mglplot/FTLibrary.obj ./obj/$(BUILDNICK)/iup_mglplot/FTPoint.obj ./obj/$(BUILDNICK)/iup_mglplot/FTSize.obj ./obj/$(BUILDNICK)/iup_mglplot/FTVectoriser.obj

./obj/$(BUILDNICK)/iup_mglplot/iup_mglplot.obj : srcmglplot/iup_mglplot.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_makefont.obj : srcmglplot/mgl_makefont.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_1d.obj : srcmglplot/mgl/mgl_1d.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_crust.obj : srcmglplot/mgl/mgl_crust.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_evalc.obj : srcmglplot/mgl/mgl_evalc.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_2d.obj : srcmglplot/mgl/mgl_2d.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_data.obj : srcmglplot/mgl/mgl_data.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_evalp.obj : srcmglplot/mgl/mgl_evalp.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_main.obj : srcmglplot/mgl/mgl_main.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_3d.obj : srcmglplot/mgl/mgl_3d.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_data_cf.obj : srcmglplot/mgl/mgl_data_cf.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_exec.obj : srcmglplot/mgl/mgl_exec.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_parse.obj : srcmglplot/mgl/mgl_parse.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_ab.obj : srcmglplot/mgl/mgl_ab.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_data_io.obj : srcmglplot/mgl/mgl_data_io.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_export.obj : srcmglplot/mgl/mgl_export.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_pde.obj : srcmglplot/mgl/mgl_pde.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_addon.obj : srcmglplot/mgl/mgl_addon.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_data_png.obj : srcmglplot/mgl/mgl_data_png.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_fit.obj : srcmglplot/mgl/mgl_fit.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_tex_table.obj : srcmglplot/mgl/mgl_tex_table.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_axis.obj : srcmglplot/mgl/mgl_axis.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_def_font.obj : srcmglplot/mgl/mgl_def_font.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_flow.obj : srcmglplot/mgl/mgl_flow.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_vect.obj : srcmglplot/mgl/mgl_vect.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_combi.obj : srcmglplot/mgl/mgl_combi.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_eps.obj : srcmglplot/mgl/mgl_eps.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_font.obj : srcmglplot/mgl/mgl_font.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_zb.obj : srcmglplot/mgl/mgl_zb.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_cont.obj : srcmglplot/mgl/mgl_cont.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_eval.obj : srcmglplot/mgl/mgl_eval.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_gl.obj : srcmglplot/mgl/mgl_gl.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/mgl_zb2.obj : srcmglplot/mgl/mgl_zb2.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTGlyph.obj : srcmglplot/ftgl/FTGlyph/FTGlyph.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTFont.obj : srcmglplot/ftgl/FTFont/FTFont.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTCharmap.obj : srcmglplot/ftgl/FTCharmap.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTContour.obj : srcmglplot/ftgl/FTContour.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTFace.obj : srcmglplot/ftgl/FTFace.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTGlyphContainer.obj : srcmglplot/ftgl/FTGlyphContainer.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTLibrary.obj : srcmglplot/ftgl/FTLibrary.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTPoint.obj : srcmglplot/ftgl/FTPoint.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTSize.obj : srcmglplot/ftgl/FTSize.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**
./obj/$(BUILDNICK)/iup_mglplot/FTVectoriser.obj : srcmglplot/ftgl/FTVectoriser.cpp ; cl $(CF_ALL) $(CF_iup_mglplot) /Fo$@ $**

$(SLIB_iup_mglplot): $(OBJS_iup_mglplot)
	lib /OUT:$@ $**

$(ILIB_iup_mglplot) $(DLIB_iup_mglplot) : $(OBJS_iup_mglplot)
	xxxg++ -s -shared -o $(ILIB_iup_mglplot) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iup_mglplot) $(LF_iup_mglplot) $(LF_ALL)

iup_mglplot-static: build-dirs $(SLIB_iup_mglplot)
iup_mglplot-dynamic: build-dirs $(ILIB_iup_mglplot) $(DLIB_iup_mglplot) 

### START OF iupgl ###
CF_iupgl   = -c   -O2 -Iinclude -Isrc    -DWIN32 $(CF_iupgl_EXTRA)
LF_iupgl   = -liup -lglaux -lglu32 -lopengl32 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupgl_EXTRA)
SLIB_iupgl = ./lib/$(BUILDNICK)/iupgl.lib
DLIB_iupgl = ./lib/$(BUILDNICK)/libiupgl.dll.a
ILIB_iupgl = ./lib/$(BUILDNICK)/iupgl_alien_.dll
OBJS_iupgl = ./obj/$(BUILDNICK)/iupgl/iup_glcanvas_win.obj

./obj/$(BUILDNICK)/iupgl/iup_glcanvas_win.obj : srcgl/iup_glcanvas_win.c ; cl $(CF_ALL) $(CF_iupgl) /Fo$@ $**

$(SLIB_iupgl): $(OBJS_iupgl)
	lib /OUT:$@ $**

$(ILIB_iupgl) $(DLIB_iupgl) : $(OBJS_iupgl)
	xxxg++ -s -shared -o $(ILIB_iupgl) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupgl) $(LF_iupgl) $(LF_ALL)

iupgl-static: build-dirs $(SLIB_iupgl)
iupgl-dynamic: build-dirs $(ILIB_iupgl) $(DLIB_iupgl) 

### START OF iupim ###
CF_iupim   = -c   -O2 -Iinclude -Isrc -I../im/include    -DWIN32 $(CF_iupim_EXTRA)
LF_iupim   = -L../im/lib/$(BUILDNICK) -liup -lim -lzlib1 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupim_EXTRA)
SLIB_iupim = ./lib/$(BUILDNICK)/iupim.lib
DLIB_iupim = ./lib/$(BUILDNICK)/libiupim.dll.a
ILIB_iupim = ./lib/$(BUILDNICK)/iupim_alien_.dll
OBJS_iupim = ./obj/$(BUILDNICK)/iupim/iup_im.obj

./obj/$(BUILDNICK)/iupim/iup_im.obj : srcim/iup_im.c ; cl $(CF_ALL) $(CF_iupim) /Fo$@ $**

$(SLIB_iupim): $(OBJS_iupim)
	lib /OUT:$@ $**

$(ILIB_iupim) $(DLIB_iupim) : $(OBJS_iupim)
	xxxg++ -s -shared -o $(ILIB_iupim) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupim) $(LF_iupim) $(LF_ALL)

iupim-static: build-dirs $(SLIB_iupim)
iupim-dynamic: build-dirs $(ILIB_iupim) $(DLIB_iupim) 

### START OF iupimglib ###
CF_iupimglib   = -c   -Iinclude -Isrc    -DWIN32 $(CF_iupimglib_EXTRA)
LF_iupimglib   = -liup -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupimglib_EXTRA)
SLIB_iupimglib = ./lib/$(BUILDNICK)/iupimglib.lib
DLIB_iupimglib = ./lib/$(BUILDNICK)/libiupimglib.dll.a
ILIB_iupimglib = ./lib/$(BUILDNICK)/iupimglib_alien_.dll
OBJS_iupimglib = ./obj/$(BUILDNICK)/iupimglib/iup_image_library.obj ./obj/$(BUILDNICK)/iupimglib/iup_imglib_bitmapsgtk.obj ./obj/$(BUILDNICK)/iupimglib/iup_imglib_icons.obj ./obj/$(BUILDNICK)/iupimglib/iup_imglib_logos.obj ./obj/$(BUILDNICK)/iupimglib/iup_imglib_bitmaps.obj ./obj/$(BUILDNICK)/iupimglib/iup_imglib_logosw32.obj

./obj/$(BUILDNICK)/iupimglib/iup_image_library.obj : srcimglib/iup_image_library.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**
./obj/$(BUILDNICK)/iupimglib/iup_imglib_bitmapsgtk.obj : srcimglib/iup_imglib_bitmapsgtk.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**
./obj/$(BUILDNICK)/iupimglib/iup_imglib_icons.obj : srcimglib/iup_imglib_icons.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**
./obj/$(BUILDNICK)/iupimglib/iup_imglib_logos.obj : srcimglib/iup_imglib_logos.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**
./obj/$(BUILDNICK)/iupimglib/iup_imglib_bitmaps.obj : srcimglib/iup_imglib_bitmaps.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**
./obj/$(BUILDNICK)/iupimglib/iup_imglib_logosw32.obj : srcimglib/iup_imglib_logosw32.c ; cl $(CF_ALL) $(CF_iupimglib) /Fo$@ $**

$(SLIB_iupimglib): $(OBJS_iupimglib)
	lib /OUT:$@ $**

$(ILIB_iupimglib) $(DLIB_iupimglib) : $(OBJS_iupimglib)
	xxxg++ -s -shared -o $(ILIB_iupimglib) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupimglib) $(LF_iupimglib) $(LF_ALL)

iupimglib-static: build-dirs $(SLIB_iupimglib)
iupimglib-dynamic: build-dirs $(ILIB_iupimglib) $(DLIB_iupimglib) 

### START OF iupole ###
CF_iupole   = -c   -O2 -Iinclude -Isrc    -DWIN32 $(CF_iupole_EXTRA)
LF_iupole   = -liup -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iupole_EXTRA)
SLIB_iupole = ./lib/$(BUILDNICK)/iupole.lib
DLIB_iupole = ./lib/$(BUILDNICK)/libiupole.dll.a
ILIB_iupole = ./lib/$(BUILDNICK)/iupole_alien_.dll
OBJS_iupole = ./obj/$(BUILDNICK)/iupole/iup_olecontrol.obj ./obj/$(BUILDNICK)/iupole/tLegacy.obj ./obj/$(BUILDNICK)/iupole/tAmbientProperties.obj ./obj/$(BUILDNICK)/iupole/tDispatch.obj ./obj/$(BUILDNICK)/iupole/tOleClientSite.obj ./obj/$(BUILDNICK)/iupole/tOleControlSite.obj ./obj/$(BUILDNICK)/iupole/tOleHandler.obj ./obj/$(BUILDNICK)/iupole/tOleInPlaceFrame.obj ./obj/$(BUILDNICK)/iupole/tOleInPlaceSite.obj

./obj/$(BUILDNICK)/iupole/iup_olecontrol.obj : srcole/iup_olecontrol.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tLegacy.obj : srcole/tLegacy.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tAmbientProperties.obj : srcole/tAmbientProperties.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tDispatch.obj : srcole/tDispatch.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tOleClientSite.obj : srcole/tOleClientSite.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tOleControlSite.obj : srcole/tOleControlSite.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tOleHandler.obj : srcole/tOleHandler.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tOleInPlaceFrame.obj : srcole/tOleInPlaceFrame.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**
./obj/$(BUILDNICK)/iupole/tOleInPlaceSite.obj : srcole/tOleInPlaceSite.cpp ; cl $(CF_ALL) $(CF_iupole) /Fo$@ $**

$(SLIB_iupole): $(OBJS_iupole)
	lib /OUT:$@ $**

$(ILIB_iupole) $(DLIB_iupole) : $(OBJS_iupole)
	xxxg++ -s -shared -o $(ILIB_iupole) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iupole) $(LF_iupole) $(LF_ALL)

iupole-static: build-dirs $(SLIB_iupole)
iupole-dynamic: build-dirs $(ILIB_iupole) $(DLIB_iupole) 

### START OF iuptuio ###
CF_iuptuio   = -c   -O2 -Iinclude -Isrc -Isrctuio/tuio -Isrctuio/oscpack   -DOSC_HOST_LITTLE_ENDIAN -DWIN32 $(CF_iuptuio_EXTRA)
LF_iuptuio   = -liup -lws2_32 -lwinmm -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 $(LF_iuptuio_EXTRA)
SLIB_iuptuio = ./lib/$(BUILDNICK)/iuptuio.lib
DLIB_iuptuio = ./lib/$(BUILDNICK)/libiuptuio.dll.a
ILIB_iuptuio = ./lib/$(BUILDNICK)/iuptuio_alien_.dll
OBJS_iuptuio = ./obj/$(BUILDNICK)/iuptuio/TuioClient.obj ./obj/$(BUILDNICK)/iuptuio/TuioServer.obj ./obj/$(BUILDNICK)/iuptuio/TuioTime.obj ./obj/$(BUILDNICK)/iuptuio/OscTypes.obj ./obj/$(BUILDNICK)/iuptuio/OscOutboundPacketStream.obj ./obj/$(BUILDNICK)/iuptuio/OscReceivedElements.obj ./obj/$(BUILDNICK)/iuptuio/OscPrintReceivedElements.obj ./obj/$(BUILDNICK)/iuptuio/iup_tuio.obj ./obj/$(BUILDNICK)/iuptuio/NetworkingUtils.obj ./obj/$(BUILDNICK)/iuptuio/UdpSocket.obj

./obj/$(BUILDNICK)/iuptuio/TuioClient.obj : srctuio/tuio/TuioClient.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/TuioServer.obj : srctuio/tuio/TuioServer.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/TuioTime.obj : srctuio/tuio/TuioTime.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/OscTypes.obj : srctuio/oscpack/osc/OscTypes.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/OscOutboundPacketStream.obj : srctuio/oscpack/osc/OscOutboundPacketStream.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/OscReceivedElements.obj : srctuio/oscpack/osc/OscReceivedElements.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/OscPrintReceivedElements.obj : srctuio/oscpack/osc/OscPrintReceivedElements.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/iup_tuio.obj : srctuio/iup_tuio.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/NetworkingUtils.obj : srctuio/oscpack/ip/win32/NetworkingUtils.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**
./obj/$(BUILDNICK)/iuptuio/UdpSocket.obj : srctuio/oscpack/ip/win32/UdpSocket.cpp ; cl $(CF_ALL) $(CF_iuptuio) /Fo$@ $**

$(SLIB_iuptuio): $(OBJS_iuptuio)
	lib /OUT:$@ $**

$(ILIB_iuptuio) $(DLIB_iuptuio) : $(OBJS_iuptuio)
	xxxg++ -s -shared -o $(ILIB_iuptuio) $** -Wl,--enable-auto-import,--export-all -Wl,--out-implib=$(DLIB_iuptuio) $(LF_iuptuio) $(LF_ALL)

iuptuio-static: build-dirs $(SLIB_iuptuio)
iuptuio-dynamic: build-dirs $(ILIB_iuptuio) $(DLIB_iuptuio) 

### compile RC

$(VER_OBJ) : $(VER_RC) ; windres --define GCC_WINDRES $** -o $@

all-static: build-dirs $(STATIC_LIBS)

all-dynamic: build-dirs $(DYNAMIC_LIBS)

install-all:
	$(MKPATH) "$(LIBDIR)"
	$(MKPATH) "$(INCDIR)"
	$(CP) ./lib/$(BUILDNICK)/*.lib "$(LIBDIR)"
	$(CP) ./include/*.h "$(INCDIR)"

install-static: all-static
	$(MKPATH) "$(LIBDIR)"
	$(MKPATH) "$(INCDIR)"
	$(CP) $(STATIC_LIBS) "$(LIBDIR)"
	$(CP) ./include/*.h "$(INCDIR)"

install-dynamic: all-dynamic
	$(MKPATH) "$(LIBDIR)"
	$(MKPATH) "$(INCDIR)"
	$(CP) $(DYNAMIC_LIBS) "$(LIBDIR)"
	$(CP) ./include/*.h "$(INCDIR)"

build-dirs:
	$(MKPATH) $(BUILD_DIRS)

clean:
	$(RM_F) $(ALL_OBJS) $(ALL_LIBS) $(VER_OBJ)