From 695fe764bd0ebfdc01d854033c26adb9ff248560 Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Wed, 16 Jun 2004 15:03:44 +0000 Subject: [PATCH] Generic file dialog presentation. Regenerated makefiles. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/dialogs/Makefile.in | 17 ++++- samples/dialogs/dialogs.bkl | 3 + samples/dialogs/dialogs.cpp | 132 ++++++++++++++++++++++++++++++----- samples/dialogs/dialogs.dsp | 63 +++++++++++++++++ samples/dialogs/dialogs.h | 28 ++++++-- samples/dialogs/makefile.bcc | 4 ++ samples/dialogs/makefile.gcc | 4 ++ samples/dialogs/makefile.vc | 4 ++ samples/dialogs/makefile.wat | 4 ++ 9 files changed, 234 insertions(+), 25 deletions(-) diff --git a/samples/dialogs/Makefile.in b/samples/dialogs/Makefile.in index 2907192ed9..17e0f15e3e 100644 --- a/samples/dialogs/Makefile.in +++ b/samples/dialogs/Makefile.in @@ -79,10 +79,12 @@ COND_PLATFORM_OS2_1___dialogs___os2_emxbindcmd = $(NM) dialogs$(EXEEXT) | if \ @COND_TOOLKIT_MAC@ dialogs.app/Contents/PkgInfo @COND_TOOLKIT_MSW_WXUNIV_0@__GENERIC_FILES_OBJECTS \ @COND_TOOLKIT_MSW_WXUNIV_0@ = dialogs_colrdlgg.o dialogs_dirdlgg.o \ -@COND_TOOLKIT_MSW_WXUNIV_0@ dialogs_fontdlgg.o +@COND_TOOLKIT_MSW_WXUNIV_0@ dialogs_filedlgg.o dialogs_fontdlgg.o @COND_TOOLKIT_MAC_WXUNIV_0@__GENERIC_FILES_OBJECTS \ -@COND_TOOLKIT_MAC_WXUNIV_0@ = dialogs_colrdlgg.o dialogs_dirdlgg.o -@COND_TOOLKIT_PM_WXUNIV_0@__GENERIC_FILES_OBJECTS = dialogs_fontdlgg.o +@COND_TOOLKIT_MAC_WXUNIV_0@ = dialogs_colrdlgg.o dialogs_dirdlgg.o \ +@COND_TOOLKIT_MAC_WXUNIV_0@ dialogs_filedlgg.o +@COND_TOOLKIT_PM_WXUNIV_0@__GENERIC_FILES_OBJECTS \ +@COND_TOOLKIT_PM_WXUNIV_0@ = dialogs_fontdlgg.o dialogs_filedlgg.o COND_MONOLITHIC_0___WXLIB_ADV_p = \ -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)_adv-2.5$(HOST_SUFFIX) @COND_MONOLITHIC_0@__WXLIB_ADV_p = $(COND_MONOLITHIC_0___WXLIB_ADV_p) @@ -190,6 +192,15 @@ dialogs_dialogs.o: $(srcdir)/dialogs.cpp @COND_TOOLKIT_MAC_WXUNIV_0@dialogs_dirdlgg.o: $(srcdir)/../../src/generic/dirdlgg.cpp @COND_TOOLKIT_MAC_WXUNIV_0@ $(CXXC) -c -o $@ $(DIALOGS_CXXFLAGS) $< +@COND_TOOLKIT_MSW_WXUNIV_0@dialogs_filedlgg.o: $(srcdir)/../../src/generic/filedlgg.cpp +@COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(DIALOGS_CXXFLAGS) $< + +@COND_TOOLKIT_MAC_WXUNIV_0@dialogs_filedlgg.o: $(srcdir)/../../src/generic/filedlgg.cpp +@COND_TOOLKIT_MAC_WXUNIV_0@ $(CXXC) -c -o $@ $(DIALOGS_CXXFLAGS) $< + +@COND_TOOLKIT_PM_WXUNIV_0@dialogs_filedlgg.o: $(srcdir)/../../src/generic/filedlgg.cpp +@COND_TOOLKIT_PM_WXUNIV_0@ $(CXXC) -c -o $@ $(DIALOGS_CXXFLAGS) $< + @COND_TOOLKIT_MSW_WXUNIV_0@dialogs_fontdlgg.o: $(srcdir)/../../src/generic/fontdlgg.cpp @COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(DIALOGS_CXXFLAGS) $< diff --git a/samples/dialogs/dialogs.bkl b/samples/dialogs/dialogs.bkl index 042f10561c..2685c8095a 100644 --- a/samples/dialogs/dialogs.bkl +++ b/samples/dialogs/dialogs.bkl @@ -7,14 +7,17 @@ ../../src/generic/colrdlgg.cpp ../../src/generic/dirdlgg.cpp + ../../src/generic/filedlgg.cpp ../../src/generic/fontdlgg.cpp ../../src/generic/colrdlgg.cpp ../../src/generic/dirdlgg.cpp + ../../src/generic/filedlgg.cpp ../../src/generic/fontdlgg.cpp + ../../src/generic/filedlgg.cpp diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index f2508efb3d..07192e6846 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -2,7 +2,7 @@ // Name: dialogs.cpp // Purpose: Common dialogs demo // Author: Julian Smart -// Modified by: ABX (2004) - adjustementd for conditional building +// Modified by: ABX (2004) - adjustements for conditional building + new menu // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart @@ -74,14 +74,18 @@ #include "wx/generic/colrdlgg.h" #endif // USE_COLOURDLG_GENERIC -#if USE_FONTDLG_GENERIC - #include "wx/generic/fontdlgg.h" -#endif // USE_FONTDLG_GENERIC - #if USE_DIRDLG_GENERIC #include "wx/generic/dirdlgg.h" #endif // USE_DIRDLG_GENERIC +#if USE_FILEDLG_GENERIC + #include "wx/generic/filedlgg.h" +#endif // USE_FILEDLG_GENERIC + +#if USE_FONTDLG_GENERIC + #include "wx/generic/fontdlgg.h" +#endif // USE_FONTDLG_GENERIC + IMPLEMENT_APP(MyApp) BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) @@ -126,6 +130,12 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave) #endif // wxUSE_FILEDLG +#if USE_FILEDLG_GENERIC + EVT_MENU(DIALOGS_FILE_OPEN_GENERIC, MyFrame::FileOpenGeneric) + EVT_MENU(DIALOGS_FILES_OPEN_GENERIC, MyFrame::FilesOpenGeneric) + EVT_MENU(DIALOGS_FILE_SAVE_GENERIC, MyFrame::FileSaveGeneric) +#endif // USE_FILEDLG_GENERIC + #if wxUSE_DIRDLG EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose) EVT_MENU(DIALOGS_DIRNEW_CHOOSE, MyFrame::DirChooseNew) @@ -220,23 +230,27 @@ bool MyApp::OnInit() choices_menu->Append(DIALOGS_CHOOSE_COLOUR, _T("&Choose colour")); #endif // wxUSE_COLOURDLG - #if USE_COLOURDLG_GENERIC - choices_menu->Append(DIALOGS_CHOOSE_COLOUR_GENERIC, _T("&Choose colour (generic)")); - #endif // USE_COLOURDLG_GENERIC - #if wxUSE_FONTDLG choices_menu->Append(DIALOGS_CHOOSE_FONT, _T("Choose &font")); #endif // wxUSE_FONTDLG - #if USE_FONTDLG_GENERIC - choices_menu->Append(DIALOGS_CHOOSE_FONT_GENERIC, _T("Choose &font (generic)")); - #endif // USE_FONTDLG_GENERIC - #if wxUSE_CHOICEDLG choices_menu->Append(DIALOGS_SINGLE_CHOICE, _T("&Single choice\tCtrl-C")); choices_menu->Append(DIALOGS_MULTI_CHOICE, _T("M&ultiple choice\tCtrl-U")); #endif // wxUSE_CHOICEDLG + #if USE_COLOURDLG_GENERIC || USE_FONTDLG_GENERIC + choices_menu->AppendSeparator(); + #endif // USE_COLOURDLG_GENERIC || USE_FONTDLG_GENERIC + + #if USE_COLOURDLG_GENERIC + choices_menu->Append(DIALOGS_CHOOSE_COLOUR_GENERIC, _T("&Choose colour (generic)")); + #endif // USE_COLOURDLG_GENERIC + + #if USE_FONTDLG_GENERIC + choices_menu->Append(DIALOGS_CHOOSE_FONT_GENERIC, _T("Choose &font (generic)")); + #endif // USE_FONTDLG_GENERIC + file_menu->Append(wxID_ANY,_T("Choices and selectors"),choices_menu); #endif // wxUSE_COLOURDLG || wxUSE_FONTDLG || wxUSE_CHOICEDLG @@ -267,6 +281,14 @@ bool MyApp::OnInit() filedlg_menu->Append(DIALOGS_FILE_OPEN2, _T("&Second open file\tCtrl-2")); filedlg_menu->Append(DIALOGS_FILES_OPEN, _T("Open &files\tCtrl-Q")); filedlg_menu->Append(DIALOGS_FILE_SAVE, _T("Sa&ve file\tCtrl-S")); + + #if USE_FILEDLG_GENERIC + filedlg_menu->AppendSeparator(); + filedlg_menu->Append(DIALOGS_FILE_OPEN_GENERIC, _T("&Open file (generic)")); + filedlg_menu->Append(DIALOGS_FILES_OPEN_GENERIC, _T("Open &files (generic)")); + filedlg_menu->Append(DIALOGS_FILE_SAVE_GENERIC, _T("Sa&ve file (generic)")); + #endif // USE_FILEDLG_GENERIC + file_menu->Append(wxID_ANY,_T("File operations"),filedlg_menu); #endif // wxUSE_FILEDLG @@ -275,14 +297,14 @@ bool MyApp::OnInit() wxMenu *dir_menu = new wxMenu; dir_menu->Append(DIALOGS_DIR_CHOOSE, _T("&Choose a directory\tCtrl-D")); + dir_menu->Append(DIALOGS_DIRNEW_CHOOSE, _T("Choose a directory (with \"Ne&w\" button)\tShift-Ctrl-D")); + file_menu->Append(wxID_ANY,_T("Directory operations"),dir_menu); #if USE_DIRDLG_GENERIC + dir_menu->AppendSeparator(); dir_menu->Append(DIALOGS_GENERIC_DIR_CHOOSE, _T("&Choose a directory (generic)")); #endif // USE_DIRDLG_GENERIC - dir_menu->Append(DIALOGS_DIRNEW_CHOOSE, _T("Choose a directory (with \"Ne&w\" button)\tShift-Ctrl-D")); - file_menu->Append(wxID_ANY,_T("Directory operations"),dir_menu); - #endif // wxUSE_DIRDLG @@ -728,6 +750,84 @@ void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) ) } #endif // wxUSE_FILEDLG +#if USE_FILEDLG_GENERIC +void MyFrame::FileOpenGeneric(wxCommandEvent& WXUNUSED(event) ) +{ + wxGenericFileDialog dialog + ( + this, + _T("Testing open file dialog"), + wxEmptyString, + wxEmptyString, + _T("C++ files (*.h;*.cpp)|*.h;*.cpp") + ); + + dialog.SetDirectory(wxGetHomeDir()); + + if (dialog.ShowModal() == wxID_OK) + { + wxString info; + info.Printf(_T("Full file name: %s\n") + _T("Path: %s\n") + _T("Name: %s"), + dialog.GetPath().c_str(), + dialog.GetDirectory().c_str(), + dialog.GetFilename().c_str()); + wxMessageDialog dialog2(this, info, _T("Selected file")); + dialog2.ShowModal(); + } +} + +void MyFrame::FilesOpenGeneric(wxCommandEvent& WXUNUSED(event) ) +{ + wxString wildcards = _T("All files (*.*)|*.*|C++ files (*.h;*.cpp)|*.h;*.cpp"); + wxGenericFileDialog dialog(this, _T("Testing open multiple file dialog"), + wxEmptyString, wxEmptyString, wildcards, + wxMULTIPLE); + + if (dialog.ShowModal() == wxID_OK) + { + wxArrayString paths, filenames; + + dialog.GetPaths(paths); + dialog.GetFilenames(filenames); + + wxString msg, s; + size_t count = paths.GetCount(); + for ( size_t n = 0; n < count; n++ ) + { + s.Printf(_T("File %d: %s (%s)\n"), + (int)n, paths[n].c_str(), filenames[n].c_str()); + + msg += s; + } + s.Printf(_T("Filter index: %d"), dialog.GetFilterIndex()); + msg += s; + + wxMessageDialog dialog2(this, msg, _T("Selected files")); + dialog2.ShowModal(); + } +} + +void MyFrame::FileSaveGeneric(wxCommandEvent& WXUNUSED(event) ) +{ + wxGenericFileDialog dialog(this, + _T("Testing save file dialog"), + wxEmptyString, + _T("myletter.doc"), + _T("Text files (*.txt)|*.txt|Document files (*.doc)|*.doc"), + wxSAVE|wxOVERWRITE_PROMPT); + + dialog.SetFilterIndex(1); + + if (dialog.ShowModal() == wxID_OK) + { + wxLogMessage(_T("%s, filter %d"), + dialog.GetPath().c_str(), dialog.GetFilterIndex()); + } +} +#endif // USE_FILEDLG_GENERIC + #if wxUSE_DIRDLG void MyFrame::DoDirChoose(int style) { diff --git a/samples/dialogs/dialogs.dsp b/samples/dialogs/dialogs.dsp index 8b1e9e2f38..7fa040ab23 100644 --- a/samples/dialogs/dialogs.dsp +++ b/samples/dialogs/dialogs.dsp @@ -597,6 +597,69 @@ SOURCE=.\..\..\src\generic\dirdlgg.cpp !ELSEIF "$(CFG)" == "dialogs - Win32 Debug" +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\..\..\src\generic\filedlgg.cpp + +!IF "$(CFG)" == "dialogs - Win32 DLL Universal Unicode Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Universal Unicode Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Universal Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Universal Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Unicode Release" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Unicode Debug" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Release" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 DLL Debug" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 Universal Unicode Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 Universal Unicode Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 Universal Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 Universal Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "dialogs - Win32 Unicode Release" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 Unicode Debug" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 Release" + + +!ELSEIF "$(CFG)" == "dialogs - Win32 Debug" + + !ENDIF # End Source File diff --git a/samples/dialogs/dialogs.h b/samples/dialogs/dialogs.h index 2c373264c9..91bef905f1 100644 --- a/samples/dialogs/dialogs.h +++ b/samples/dialogs/dialogs.h @@ -20,17 +20,24 @@ ) -#define USE_FONTDLG_GENERIC \ +#define USE_DIRDLG_GENERIC \ ( \ - wxUSE_FONTDLG && \ - ( defined(__WXMSW__) || defined(__WXPM__) ) && \ + wxUSE_DIRDLG && \ + ( defined(__WXMSW__) || defined(__WXMAC__) ) && \ !defined(__WXUNIVERSAL__) \ ) -#define USE_DIRDLG_GENERIC \ +#define USE_FILEDLG_GENERIC \ ( \ - wxUSE_DIRDLG && \ - ( defined(__WXMSW__) || defined(__WXMAC__) ) && \ + wxUSE_FILEDLG && \ + ( defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) ) && \ + !defined(__WXUNIVERSAL__) \ + ) + +#define USE_FONTDLG_GENERIC \ + ( \ + wxUSE_FONTDLG && \ + ( defined(__WXMSW__) || defined(__WXPM__) ) && \ !defined(__WXUNIVERSAL__) \ ) @@ -117,6 +124,12 @@ public: void FileSave(wxCommandEvent& event); #endif // wxUSE_FILEDLG +#if USE_FILEDLG_GENERIC + void FileOpenGeneric(wxCommandEvent& event); + void FilesOpenGeneric(wxCommandEvent& event); + void FileSaveGeneric(wxCommandEvent& event); +#endif // USE_FILEDLG_GENERIC + #if wxUSE_DIRDLG void DirChoose(wxCommandEvent& event); void DirChooseNew(wxCommandEvent& event); @@ -208,6 +221,9 @@ enum DIALOGS_FILE_OPEN2, DIALOGS_FILES_OPEN, DIALOGS_FILE_SAVE, + DIALOGS_FILE_OPEN_GENERIC, + DIALOGS_FILES_OPEN_GENERIC, + DIALOGS_FILE_SAVE_GENERIC, DIALOGS_DIR_CHOOSE, DIALOGS_DIRNEW_CHOOSE, DIALOGS_GENERIC_DIR_CHOOSE, diff --git a/samples/dialogs/makefile.bcc b/samples/dialogs/makefile.bcc index 3bbd128a7d..d3c2ccfda1 100644 --- a/samples/dialogs/makefile.bcc +++ b/samples/dialogs/makefile.bcc @@ -108,6 +108,7 @@ __DLLFLAG_p_1 = -dWXUSINGDLL ____GENERIC_FILES_FILENAMES_OBJECTS = \ $(OBJS)\dialogs_colrdlgg.obj \ $(OBJS)\dialogs_dirdlgg.obj \ + $(OBJS)\dialogs_filedlgg.obj \ $(OBJS)\dialogs_fontdlgg.obj !endif !if "$(MONOLITHIC)" == "0" @@ -193,6 +194,9 @@ $(OBJS)\dialogs_colrdlgg.obj: .\..\..\src\generic\colrdlgg.cpp $(OBJS)\dialogs_dirdlgg.obj: .\..\..\src\generic\dirdlgg.cpp $(CXX) -q -c -P -o$@ $(DIALOGS_CXXFLAGS) $** +$(OBJS)\dialogs_filedlgg.obj: .\..\..\src\generic\filedlgg.cpp + $(CXX) -q -c -P -o$@ $(DIALOGS_CXXFLAGS) $** + $(OBJS)\dialogs_fontdlgg.obj: .\..\..\src\generic\fontdlgg.cpp $(CXX) -q -c -P -o$@ $(DIALOGS_CXXFLAGS) $** diff --git a/samples/dialogs/makefile.gcc b/samples/dialogs/makefile.gcc index e0e3d55e25..c9751c1010 100644 --- a/samples/dialogs/makefile.gcc +++ b/samples/dialogs/makefile.gcc @@ -110,6 +110,7 @@ ifeq ($(WXUNIV),0) ____GENERIC_FILES_FILENAMES_OBJECTS = \ $(OBJS)\dialogs_colrdlgg.o \ $(OBJS)\dialogs_dirdlgg.o \ + $(OBJS)\dialogs_filedlgg.o \ $(OBJS)\dialogs_fontdlgg.o endif ifeq ($(MONOLITHIC),0) @@ -191,6 +192,9 @@ $(OBJS)\dialogs_colrdlgg.o: ./../../src/generic/colrdlgg.cpp $(OBJS)\dialogs_dirdlgg.o: ./../../src/generic/dirdlgg.cpp $(CXX) -c -o $@ $(DIALOGS_CXXFLAGS) $< +$(OBJS)\dialogs_filedlgg.o: ./../../src/generic/filedlgg.cpp + $(CXX) -c -o $@ $(DIALOGS_CXXFLAGS) $< + $(OBJS)\dialogs_fontdlgg.o: ./../../src/generic/fontdlgg.cpp $(CXX) -c -o $@ $(DIALOGS_CXXFLAGS) $< diff --git a/samples/dialogs/makefile.vc b/samples/dialogs/makefile.vc index 9769487feb..6c905c6c14 100644 --- a/samples/dialogs/makefile.vc +++ b/samples/dialogs/makefile.vc @@ -207,6 +207,7 @@ __DLLFLAG_p_1 = /d WXUSINGDLL ____GENERIC_FILES_FILENAMES_OBJECTS = \ $(OBJS)\dialogs_colrdlgg.obj \ $(OBJS)\dialogs_dirdlgg.obj \ + $(OBJS)\dialogs_filedlgg.obj \ $(OBJS)\dialogs_fontdlgg.obj !endif !if "$(MONOLITHIC)" == "0" @@ -277,6 +278,9 @@ $(OBJS)\dialogs_colrdlgg.obj: .\..\..\src\generic\colrdlgg.cpp $(OBJS)\dialogs_dirdlgg.obj: .\..\..\src\generic\dirdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(DIALOGS_CXXFLAGS) $** +$(OBJS)\dialogs_filedlgg.obj: .\..\..\src\generic\filedlgg.cpp + $(CXX) /c /nologo /TP /Fo$@ $(DIALOGS_CXXFLAGS) $** + $(OBJS)\dialogs_fontdlgg.obj: .\..\..\src\generic\fontdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(DIALOGS_CXXFLAGS) $** diff --git a/samples/dialogs/makefile.wat b/samples/dialogs/makefile.wat index 2e0f37fc0b..152eceb55f 100644 --- a/samples/dialogs/makefile.wat +++ b/samples/dialogs/makefile.wat @@ -115,6 +115,7 @@ ____GENERIC_FILES_FILENAMES_OBJECTS = ____GENERIC_FILES_FILENAMES_OBJECTS = & $(OBJS)\dialogs_colrdlgg.obj & $(OBJS)\dialogs_dirdlgg.obj & + $(OBJS)\dialogs_filedlgg.obj & $(OBJS)\dialogs_fontdlgg.obj !endif __WXLIB_ADV_p = @@ -231,6 +232,9 @@ $(OBJS)\dialogs_colrdlgg.obj : .AUTODEPEND .\..\..\src\generic\colrdlgg.cpp $(OBJS)\dialogs_dirdlgg.obj : .AUTODEPEND .\..\..\src\generic\dirdlgg.cpp $(CXX) -zq -fo=$^@ $(DIALOGS_CXXFLAGS) $< +$(OBJS)\dialogs_filedlgg.obj : .AUTODEPEND .\..\..\src\generic\filedlgg.cpp + $(CXX) -zq -fo=$^@ $(DIALOGS_CXXFLAGS) $< + $(OBJS)\dialogs_fontdlgg.obj : .AUTODEPEND .\..\..\src\generic\fontdlgg.cpp $(CXX) -zq -fo=$^@ $(DIALOGS_CXXFLAGS) $< -- 2.47.2