Merge branch 'prune-old-files'

Remove files that are no longer useful.

See #22980.
This commit is contained in:
Vadim Zeitlin 2022-11-26 16:52:46 +01:00
commit 5660b0cc2d
51 changed files with 15 additions and 3236 deletions

View file

@ -1,170 +0,0 @@
wxWidgets slogan ideas
CafePress products:
http://www.cafepress.com/cp/info/products/
-----------
On mug or umbrella:
super-gui-OS-agnostic-XP-Linux-MacOS
(perhaps highlighted in different colours)
wxWidgets: "Practically Perfect in Every Way"
-----------
On tote bag:
"Bag yourself some cool tools at wxwidgets.org"
-----------
On sweatshirt:
Build an app for Windows, Mac and Linux in a week?
No sweat.
<wxWidgets logo>
wxwidgets.org
-----------
Hallelujah!
The future is open source and OS-agnostic.
Tool up for it at wxwidgets.org.
-----------
On hat:
wxWidgets
Brim-full of cool GUI tools
-----------
On frosted glass mug:
just the logo
-----------
Suggested slogans from wx-users:
wxWidgets: The API for programmers who aren't sheep.
(Robin Dunn)
Better printed on a shirt:
"A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet,
balance accounts, build a wall, set a bone, comfort the dying,
take orders, give orders, cooperate, act alone, solve equations,
analyze a new problem, pitch manure, program a computer, cook a
tasty meal, fight efficiently, die gallantly.
Specialization is for insects."
[Robert A. Heinlein]
maybe stripped down to
"Specialization is for insects."
============================
The Open-Source, Cross-Platform GUI Framework
with Ten Years of Evolution Behind It
I saw this changed to 'native UI' on the website, which is slightly more
accurate but sounds less 'catchy' imho.
.. and templates.
Hmm. I might buy a mug that had, say, a wxLogo and "wxWidgets" (and
maybe the website URL underneath in smaller type) on one side and
"Specialization is for insects ... and templates" on the other.
.. only if it held at least a full half (imperial) pint, mind. Not
one of those wussy 8.5 fl.oz. jobbies.
That'd be a nice ice-breaker when working at a new client's site -
people would be bound to stop and ask what it was all about!
.. and how about a nice silk tie (US: necktie) with the logo on ...
Oh, I forgot, we programmers don't wear ties.
============================
"I can't believe it's not native"
============================
"Because friends don't let friends use Win32".
(or MFC)
============================
Have a photo of 3 babes wearing Linux, Windows and Mac Logo T-shirt with
words at the bottom.
"Why choose one when you can have 3?"
(Mohammad Zubair <mzubair@singnet.com.sg>)
============================
wxWidgets: Write it once and for all.
Matt Gregory <msgregory@earthlink.net>
============================
At front:
Need an API?
<wxWidgets>
and get THE API
C++, Python, Basic, Lua ...
At back
<windows> OR <linux> OR <mac> ?
<wxWidgets> is
<windows> AND <linux> AND <mac>
where <xxxxx> is the respective logo
Manuel Martin <mmartin@ceyd.es>
============================
Kevin Ollivier wrote:
How about this for a t-shirt slogan?
One API to rule them all, one API to hide them
One API to bridge them all and in the compiler bind them.
wxWidgets
How about "and in the linker bind them"? That's where the local libraries
get bound to the wxWidgets code anyway.
============================
Hugh Gibson wrote:
> > Perhaps a head shot of a Maori with full face tattoo and the
> > slogan "Go native"?
>
> Perhaps the "tattoos" could be various representations of a common
> window control in different operating systems to emphasise the
> native look and feel.
Nice idea. But I wonder where you'll find some volunteer willing to
have his face tattooed with win32 common controls ;-)
============================

7
docs/tech/README.md Normal file
View file

@ -0,0 +1,7 @@
Obsolete "tech notes" directory
-------------------------------
This directory used to contain "technical notes" for wxWidgets contributors,
but is not used any longer, this file only exists to point you to the "HOW TO"
guides in `docs/contributing` directory which are still relevant, if you're
looking for something that used to be here.

View file

@ -1,31 +0,0 @@
All the files in this directory are obsolete (including this one) and are kept
just to avoid breaking the existing links to them, please refer to the files
with the corresponding name under docs/contributing instead:
tn0001.txt -> docs/contributing/how-to-add-new-sample.md
tn0002.txt -> docs/contributing/translators-guide.md
tn0003.txt -> docs/contributing/how-to-add-class-documentation.md
tn0004.htm -> *** REMOVED *** (obsoleted by Bakefile changes)
tn0005.txt -> *** REMOVED *** (obsoleted by https://wiki.wxwidgets.org/Development:_How_To_Contribute)
tn0006.txt -> *** REMOVED *** (obsoleted by tn0013.txt)
tn0007.txt -> *** REMOVED *** (obsoleted by Bakefile changes)
tn0008.htm -> *** REMOVED *** (included in the manual now)
tn0009.htm -> *** REMOVED *** (use any standard tool for icon creation)
tn0010.htm -> *** REMOVED *** (obsoleted by Bakefile changes)
tn0011.txt -> docs/contributing/about-version-numbers.md
tn0012.txt -> docs/contributing/about-platform-toolkit-and-library-names.md
tn0013.txt -> *** REMOVED *** (obsoleted by tn0022.txt)
tn0014.txt -> *** REMOVED *** (included in the manual now)
tn0015.txt -> docs/contributing/how-to-add-new-ui-bitmaps.md
tn0016.txt -> docs/contributing/how-to-add-files-to-build-system.md
tn0017.txt -> docs/contributing/how-to-write-unit-tests.md
tn0018.txt -> docs/contributing/how-to-add-new-font-encoding.md
tn0019.txt -> docs/contributing/wxmsw-contributor-guide.md
tn0020.txt -> docs/contributing/binary-compatibility.md
tn0021.txt -> docs/contributing/how-to-add-new-wxUSE_XXX.md
tn0022.txt -> docs/contributing/how-to-release.md
tn0023.txt -> *** REMOVED *** (obsoleted by web site redesign)
tn0024.txt -> docs/contributing/how-to-add-new-xrc-handler.md
tn0025.txt -> docs/contributing/how-to-update-third-party-library.md

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1 +0,0 @@
Please see index.txt

View file

@ -1,8 +0,0 @@
CC = gcc
test: test.c
$(CC) `gtk-config --cflags` test.c -o test `gtk-config --libs`
clean:
rm -f *.o test

View file

@ -1,207 +0,0 @@
#include <gtk/gtk.h>
/* This function rotates the position of the tabs */
void rotate_book (GtkButton *button, GtkNotebook *notebook)
{
gtk_notebook_set_tab_pos (notebook, (notebook->tab_pos +1) %4);
}
/* Add/Remove the page tabs and the borders */
void tabsborder_book (GtkButton *button, GtkNotebook *notebook)
{
gint tval = FALSE;
gint bval = FALSE;
if (notebook->show_tabs == 0)
tval = TRUE;
if (notebook->show_border == 0)
bval = TRUE;
gtk_notebook_set_show_tabs (notebook, tval);
gtk_notebook_set_show_border (notebook, bval);
}
/* Remove a page from the notebook */
void remove_book (GtkButton *button, GtkNotebook *notebook)
{
gint page;
page = gtk_notebook_get_current_page(notebook);
gtk_notebook_remove_page (notebook, page);
/* Need to refresh the widget --
This forces the widget to redraw itself. */
gtk_widget_draw(GTK_WIDGET(notebook), NULL);
}
void delete (GtkWidget *widget, GtkWidget *event, gpointer data)
{
gtk_main_quit ();
}
void assign_new_style(GtkWidget *widget)
{
GtkStyle *default_style,*new_style;
default_style = gtk_rc_get_style( widget );
if (!default_style)
default_style = gtk_widget_get_default_style();
new_style = gtk_style_copy( default_style );
new_style->engine_data = default_style->engine_data;
new_style->klass = default_style->klass;
gtk_widget_set_style( widget, new_style );
}
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *table;
GtkWidget *notebook;
GtkWidget *frame;
GtkWidget *label;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "delete_event",
GTK_SIGNAL_FUNC (delete), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
table = gtk_table_new(3,6,FALSE);
gtk_container_add (GTK_CONTAINER (window), table);
/* Create a new notebook, place the position of the tabs */
notebook = gtk_notebook_new ();
assign_new_style( notebook );
gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);
gtk_table_attach_defaults(GTK_TABLE(table), notebook, 0,6,0,1);
gtk_widget_show(notebook);
/* Now finally let's prepend pages to the notebook */
frame = gtk_frame_new ("frame");
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_set_usize (frame, 100, 75);
gtk_widget_show (frame);
label = gtk_label_new ("label");
assign_new_style( label );
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (label);
label = gtk_label_new ("page");
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);
frame = gtk_frame_new ("frame");
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_set_usize (frame, 100, 75);
gtk_widget_show (frame);
label = gtk_button_new_with_label ("button");
assign_new_style( label );
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (label);
label = gtk_label_new ("page");
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);
frame = gtk_frame_new ("frame");
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_set_usize (frame, 100, 75);
gtk_widget_show (frame);
label = gtk_check_button_new_with_label ("check button");
assign_new_style( label );
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (label);
label = gtk_label_new ("page");
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);
frame = gtk_frame_new ("frame");
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_set_usize (frame, 100, 75);
gtk_widget_show (frame);
label = gtk_radio_button_new_with_label (NULL, "radio button");
assign_new_style( label );
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (label);
label = gtk_label_new ("page");
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);
frame = gtk_frame_new ("frame");
gtk_container_set_border_width (GTK_CONTAINER (frame), 10);
gtk_widget_set_usize (frame, 100, 75);
gtk_widget_show (frame);
label = gtk_entry_new ();
assign_new_style( label );
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (label);
label = gtk_label_new ("page");
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);
/* Create a bunch of buttons */
button = gtk_button_new_with_label ("close");
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (delete), NULL);
gtk_table_attach_defaults(GTK_TABLE(table), button, 0,1,1,2);
gtk_widget_show(button);
button = gtk_button_new_with_label ("next page");
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_notebook_next_page,
GTK_OBJECT (notebook));
gtk_table_attach_defaults(GTK_TABLE(table), button, 1,2,1,2);
gtk_widget_show(button);
button = gtk_button_new_with_label ("prev page");
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_notebook_prev_page,
GTK_OBJECT (notebook));
gtk_table_attach_defaults(GTK_TABLE(table), button, 2,3,1,2);
gtk_widget_show(button);
button = gtk_button_new_with_label ("tab position");
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) rotate_book, GTK_OBJECT(notebook));
gtk_table_attach_defaults(GTK_TABLE(table), button, 3,4,1,2);
gtk_widget_show(button);
button = gtk_button_new_with_label ("tabs/border on/off");
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) tabsborder_book,
GTK_OBJECT (notebook));
gtk_table_attach_defaults(GTK_TABLE(table), button, 4,5,1,2);
gtk_widget_show(button);
button = gtk_button_new_with_label ("remove page");
gtk_signal_connect (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) remove_book,
GTK_OBJECT(notebook));
gtk_table_attach_defaults(GTK_TABLE(table), button, 5,6,1,2);
gtk_widget_show(button);
gtk_widget_show(table);
gtk_widget_show(window);
gtk_main ();
return(0);
}
/* example-end */

View file

@ -21,19 +21,17 @@ DESTDIR =
### Targets: ###
all: emulator execmon helpview hhp2cached ifacecheck screenshotgen wxrc
all: helpview hhp2cached ifacecheck screenshotgen wxrc
install: install_execmon install_ifacecheck install_screenshotgen install_wxrc
install: install_ifacecheck install_screenshotgen install_wxrc
uninstall: uninstall_execmon uninstall_ifacecheck uninstall_screenshotgen uninstall_wxrc
uninstall: uninstall_ifacecheck uninstall_screenshotgen uninstall_wxrc
install-strip: install install-strip_execmon install-strip_ifacecheck install-strip_screenshotgen install-strip_wxrc
install-strip: install install-strip_ifacecheck install-strip_screenshotgen install-strip_wxrc
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
-(cd emulator/src && $(MAKE) clean)
-(cd execmon && $(MAKE) clean)
-(cd helpview/src && $(MAKE) clean)
-(cd hhp2cached && $(MAKE) clean)
-(cd ifacecheck/src && $(MAKE) clean)
@ -42,29 +40,12 @@ clean:
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
-(cd emulator/src && $(MAKE) distclean)
-(cd execmon && $(MAKE) distclean)
-(cd helpview/src && $(MAKE) distclean)
-(cd hhp2cached && $(MAKE) distclean)
-(cd ifacecheck/src && $(MAKE) distclean)
-(cd screenshotgen/src && $(MAKE) distclean)
-(cd wxrc && $(MAKE) distclean)
emulator:
(cd emulator/src && $(MAKE) all)
execmon:
(cd execmon && $(MAKE) all)
install_execmon:
(cd execmon && $(MAKE) install)
uninstall_execmon:
(cd execmon && $(MAKE) uninstall)
install-strip_execmon:
(cd execmon && $(MAKE) install-strip)
helpview:
(cd helpview/src && $(MAKE) all)
@ -111,8 +92,7 @@ install-strip_wxrc:
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean emulator execmon install_execmon \
uninstall_execmon install-strip_execmon helpview hhp2cached ifacecheck \
.PHONY: all install uninstall clean distclean helpview hhp2cached ifacecheck \
install_ifacecheck uninstall_ifacecheck install-strip_ifacecheck \
screenshotgen install_screenshotgen uninstall_screenshotgen \
install-strip_screenshotgen wxrc install_wxrc uninstall_wxrc \

View file

@ -1,7 +0,0 @@
all:
cd src; $(MAKE)
clean:
cd src; $(MAKE) clean

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

View file

@ -1,95 +0,0 @@
wxWidgets PDA/Embedded System Emulator
======================================
This is a simple display emulator for embedded
applications (wxWidgets or other) that use
an X server. The Familiar Linux distribution
is one such environment, using Tiny-X.
wxEmulator uses Xnest, which is the XFree86
X server compiled to show a virtual X desktop
in a window. wxEmulator hijacks the Xnest
window by reparenting its window, and shows
this window with appropriate PDA-style decorations
surrounding it.
No real emulation is done, apart from the work
that Xnest does. You compile your apps on your
host as usual and test them out with the emulator
to get an idea of the constraints of the embedded
system display. Then compile the apps for your
target system with a suitable cross-compiler,
or if you have the luxury of lots of space on
your target device, compile natively on the
target.
It is intended to create a tarball of the
emulator, wxX11 and maybe some other useful
components such as a simple window manager so that
people can quickly start developing embedded
GUI applications without the need for actual
target hardware.
Running wxEmulator
==================
Make sure Xnest is in your PATH. You can download
a binary from the XFree86 ftp server or a mirror,
or you can compile Xnest from source -- but this
downloading XFree86 source in its entirety and
compiling it. Say goodbye to half a gig of disk
space if you take this option.
Then run wxEmulator:
% emulator &
or
% emulator mydevice.wxe &
to specify a configuration file. Run emulator --help
to show what options are available, such as --use-display
for specifying a display other than :100.
After a brief flicker in which wxEmulator steals
Xnest's window, you should see an emulated iPAQ with
a checked screen that indicates raw X with nothing else
running.
Running any X applications with the Xnest display
number (currently 100) will show those applications
in the emulator window instead of the normal desktop.
For example:
% xeyes -display :100 &
Before running any other programs, run a window
manager such as twm:
% twm -display :100 &
If the X program or WM you want to run doesn't support the
-display argument, try exporting the DISPLAY variable
before running it. E.g.:
% export DISPLAY=:100
% xterm &
For details on the configuration file format, please
see default.wxe. Eventually it will support
device buttons.
Compiling wxEmulator
====================
You need to use wxX11 -- no other port is supported.
Configure and make wxX11 in the usual way (see docs/x11/install.txt
at the wxWidgets top level), then compile wxEmulator
using the makefile that configure created.
Have fun!
Julian Smart, March 2002

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View file

@ -1,161 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
EXEEXT = @EXEEXT@
WINDRES = @WINDRES@
NM = @NM@
BK_DEPS = @BK_DEPS@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
LIBS = @LIBS@
LDFLAGS_GUI = @LDFLAGS_GUI@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
USE_DPI_AWARE_MANIFEST = @USE_DPI_AWARE_MANIFEST@
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
TOOLKIT = @TOOLKIT@
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
TOOLKIT_VERSION = @TOOLKIT_VERSION@
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@
WX_CPPFLAGS = @WX_CPPFLAGS@
WX_CXXFLAGS = @WX_CXXFLAGS@
WX_LDFLAGS = @WX_LDFLAGS@
HOST_SUFFIX = @HOST_SUFFIX@
wx_top_builddir = @wx_top_builddir@
### Variables: ###
DESTDIR =
WX_RELEASE = 3.3
LIBDIRNAME = $(wx_top_builddir)/lib
WXEMULATOR_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) \
-I$(srcdir)/../../../samples $(WX_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
WXEMULATOR_OBJECTS = \
$(__wxemulator___win32rc) \
wxemulator_emulator.o
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@COND_BUILD_debug@WXDEBUGFLAG = d
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
@COND_USE_RTTI_0@__RTTI_DEFINE_p_1 = --define wxNO_RTTI
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
@COND_USE_THREADS_0@__THREAD_DEFINE_p_1 = --define wxNO_THREADS
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
@COND_SHARED_1@__DLLFLAG_p_1 = --define WXUSINGDLL
@COND_PLATFORM_WIN32_1@__WIN32_DPI_MANIFEST_p = \
@COND_PLATFORM_WIN32_1@ --define \
@COND_PLATFORM_WIN32_1@ wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST)
COND_PLATFORM_OS2_1___wxemulator___os2_emxbindcmd = $(NM) wxemulator$(EXEEXT) \
| if grep -q pmwin.763 ; then emxbind -ep wxemulator$(EXEEXT) ; fi
@COND_PLATFORM_OS2_1@__wxemulator___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___wxemulator___os2_emxbindcmd)
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
@COND_PLATFORM_WIN32_1@__wxemulator___win32rc = wxemulator_sample_rc.o
COND_MONOLITHIC_0___WXLIB_CORE_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
COND_MONOLITHIC_0___WXLIB_BASE_p = \
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
@COND_MONOLITHIC_1_USE_STC_1@ = \
@COND_MONOLITHIC_1_USE_STC_1@ -lwxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
### Targets: ###
all: wxemulator$(EXEEXT) data
install:
uninstall:
install-strip: install
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f wxemulator$(EXEEXT)
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
wxemulator$(EXEEXT): $(WXEMULATOR_OBJECTS) $(__wxemulator___win32rc)
$(CXX) -o $@ $(WXEMULATOR_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
$(__wxemulator___os2_emxbindcmd)
data:
@mkdir -p .
@for f in default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg; do \
if test ! -f ./$$f -a ! -d ./$$f ; \
then x=yep ; \
else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \
fi; \
case "$$x" in ?*) \
cp -pRf $(srcdir)/$$f . ;; \
esac; \
done
wxemulator_sample_rc.o: $(srcdir)/../../../samples/sample.rc
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(srcdir) $(__DLLFLAG_p_1) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include
wxemulator_emulator.o: $(srcdir)/emulator.cpp
$(CXXC) -c -o $@ $(WXEMULATOR_CXXFLAGS) $(srcdir)/emulator.cpp
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean data

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -1,33 +0,0 @@
# Default emulator config file
[General]
# The title of the emulator
title = "Default Emulator"
# An optional description
description = "Basic emulator"
# The top-left of the virtual screen relative
# to the background bitmap
screenX = 10
screenY = 10
# The size of the virtual screen
screenWidth = 240
screenHeight = 320
# The size of the overall device -
# only necessary if not specifying a background
# bitmap
deviceWidth = 260
deviceHeight = 340
# The main bitmap representing the device.
# You can use PNG, JPG, TIFF, BMP, XPM, GIF
backgroundBitmap = "bluegradient.jpg"
# Hex string for RGB background colour. You can
# also use the name 'backgroundColor'
backgroundColour = "008080"

View file

@ -1,24 +0,0 @@
<?xml version="1.0" ?>
<makefile>
<include file="../../../build/bakefiles/common_samples.bkl"/>
<exe id="wxemulator" template="wx_util" template_append="wx_append">
<sources>
emulator.cpp
</sources>
<wx-lib>core</wx-lib>
<wx-lib>base</wx-lib>
</exe>
<wx-data id="data">
<files>
default.wxe
ipaq.wxe
bluegradient.jpg
ipaq01.jpg
</files>
</wx-data>
</makefile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 630 B

View file

@ -1,604 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: emulator.cpp
// Purpose: Emulator wxWidgets sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/confbase.h"
#include "wx/fileconf.h"
#include "wx/cmdline.h"
#include "wx/image.h"
#include "wx/file.h"
#include "wx/filename.h"
#ifdef __WXX11__
#include "wx/x11/reparent.h"
#endif
#include "emulator.h"
// ----------------------------------------------------------------------------
// resources
// ----------------------------------------------------------------------------
// the application icon (under Windows it is in resources)
#ifndef wxHAS_IMAGES_IN_RESOURCES
#include "emulator.xpm"
#endif
// ----------------------------------------------------------------------------
// event tables and other macros for wxWidgets
// ----------------------------------------------------------------------------
// the event tables connect the wxWidgets events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
wxBEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
EVT_MENU(Emulator_Quit, wxEmulatorFrame::OnQuit)
EVT_MENU(Emulator_About, wxEmulatorFrame::OnAbout)
EVT_CLOSE(wxEmulatorFrame::OnCloseWindow)
wxEND_EVENT_TABLE()
// Create a new application object: this macro will allow wxWidgets to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. wxEmulatorApp and
// not wxApp)
wxIMPLEMENT_APP(wxEmulatorApp);
static const wxCmdLineEntryDesc sg_cmdLineDesc[] =
{
{ wxCMD_LINE_OPTION, "u", "use-display", "display number to use (default 100)" },
{ wxCMD_LINE_SWITCH, "h", "help", "displays help on the command line parameters" },
{ wxCMD_LINE_SWITCH, "v", "version", "print version" },
{ wxCMD_LINE_PARAM, nullptr, nullptr, "config file 1", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
wxCMD_LINE_DESC_END
};
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// the application class
// ----------------------------------------------------------------------------
wxEmulatorApp::wxEmulatorApp()
{
m_xnestWindow = nullptr;
m_containerWindow = nullptr;
m_displayNumber = wxT("100");
m_xnestPID = 0;
}
// 'Main program' equivalent: the program execution "starts" here
bool wxEmulatorApp::OnInit()
{
#if wxUSE_LOG
wxLog::DisableTimestamp();
#endif // wxUSE_LOG
wxInitAllImageHandlers();
wxString currentDir = wxGetCwd();
// Use argv to get current app directory
m_appDir = wxFindAppPath(argv[0], currentDir, wxT("WXEMUDIR"));
// If the development version, go up a directory.
#ifdef __WXMSW__
if ((m_appDir.Right(5).CmpNoCase(wxT("DEBUG")) == 0) ||
(m_appDir.Right(11).CmpNoCase(wxT("DEBUGSTABLE")) == 0) ||
(m_appDir.Right(7).CmpNoCase(wxT("RELEASE")) == 0) ||
(m_appDir.Right(13).CmpNoCase(wxT("RELEASESTABLE")) == 0)
)
m_appDir = wxPathOnly(m_appDir);
#endif
// Parse the command-line parameters and options
wxCmdLineParser parser(sg_cmdLineDesc, argc, argv);
int res;
{
wxLogNull log;
res = parser.Parse();
}
if (res == -1 || res > 0 || parser.Found(wxT("h")))
{
#ifdef __X__
wxLog::SetActiveTarget(new wxLogStderr);
#endif
parser.Usage();
return false;
}
if (parser.Found(wxT("v")))
{
#ifdef __X__
wxLog::SetActiveTarget(new wxLogStderr);
#endif
wxString msg;
msg.Printf(wxT("wxWidgets PDA Emulator (c) Julian Smart, 2002 Version %.2f, %s"), wxEMULATOR_VERSION, __DATE__);
wxLogMessage(msg);
return false;
}
if (parser.Found(wxT("u"), & m_displayNumber))
{
// Should only be number, so strip out anything before
// and including a : character
if (m_displayNumber.Find(wxT(':')) != -1)
{
m_displayNumber = m_displayNumber.AfterFirst(wxT(':'));
}
}
if (parser.GetParamCount() == 0)
{
m_emulatorInfo.m_emulatorFilename = wxT("default.wxe");
}
else if (parser.GetParamCount() > 0)
{
m_emulatorInfo.m_emulatorFilename = parser.GetParam(0);
}
// Load the emulation info
if (!LoadEmulator(m_appDir))
{
//wxMessageBox(wxT("Sorry, could not load this emulator. Please check bitmaps are valid."));
return false;
}
// create the main application window
wxEmulatorFrame *frame = new wxEmulatorFrame(wxT("wxEmulator"),
wxPoint(50, 50), wxSize(450, 340));
#if wxUSE_STATUSBAR
frame->SetStatusText(m_emulatorInfo.m_emulatorTitle, 0);
wxString sizeStr;
sizeStr.Printf(wxT("Screen: %dx%d"), (int) m_emulatorInfo.m_emulatorScreenSize.x,
(int) m_emulatorInfo.m_emulatorScreenSize.y);
frame->SetStatusText(sizeStr, 1);
#endif // wxUSE_STATUSBAR
m_containerWindow = new wxEmulatorContainer(frame, wxID_ANY);
frame->SetClientSize(m_emulatorInfo.m_emulatorDeviceSize.x,
m_emulatorInfo.m_emulatorDeviceSize.y);
// and show it (the frames, unlike simple controls, are not shown when
// created initially)
frame->Show(true);
#ifdef __WXX11__
m_xnestWindow = new wxAdoptedWindow;
wxString cmd;
cmd.Printf(wxT("Xnest :%s -geometry %dx%d"),
m_displayNumber.c_str(),
(int) m_emulatorInfo.m_emulatorScreenSize.x,
(int) m_emulatorInfo.m_emulatorScreenSize.y);
// Asynchronously executes Xnest
m_xnestPID = wxExecute(cmd);
if (0 == m_xnestPID)
{
frame->Destroy();
wxMessageBox(wxT("Sorry, could not run Xnest. Please check your PATH."));
return false;
}
wxReparenter reparenter;
if (!reparenter.WaitAndReparent(m_containerWindow, m_xnestWindow, wxT("Xnest")))
{
wxMessageBox(wxT("Sorry, could not reparent Xnest.."));
frame->Destroy();
return false;
}
#endif
m_containerWindow->DoResize();
// success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned false here, the
// application would exit immediately.
return true;
}
// Prepend the current program directory to the name
wxString wxEmulatorApp::GetFullAppPath(const wxString& filename) const
{
wxString path(m_appDir);
if (path.Last() != '\\' && path.Last() != '/' && filename[0] != '\\' && filename[0] != '/')
#ifdef __X__
path += '/';
#else
path += '\\';
#endif
path += filename;
return path;
}
// Load the specified emulator.
// For now, hard-wired. TODO: make this configurable
bool wxEmulatorApp::LoadEmulator(const wxString& appDir)
{
// Load config file and bitmaps
return m_emulatorInfo.Load(appDir);
}
// ----------------------------------------------------------------------------
// main frame
// ----------------------------------------------------------------------------
// frame constructor
wxEmulatorFrame::wxEmulatorFrame(const wxString& title,
const wxPoint& pos, const wxSize& size)
: wxFrame(nullptr, wxID_ANY, title, pos, size)
{
// set the frame icon
SetIcon(wxICON(emulator));
#if wxUSE_MENUS
// create a menu bar
wxMenu *menuFile = new wxMenu;
// the "About" item should be in the help menu
wxMenu *helpMenu = new wxMenu;
helpMenu->Append(Emulator_About, wxT("&About\tF1"), wxT("Show about dialog"));
menuFile->Append(Emulator_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar();
menuBar->Append(menuFile, wxT("&File"));
menuBar->Append(helpMenu, wxT("&Help"));
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
#endif // wxUSE_MENUS
#if wxUSE_STATUSBAR
// create a status bar just for fun (by default with 1 pane only)
CreateStatusBar(2);
#endif // wxUSE_STATUSBAR
}
// event handlers
void wxEmulatorFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
// true is to force the frame to close
Close(true);
}
void wxEmulatorFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString msg;
msg.Printf( wxT("wxEmulator is an environment for testing embedded X11 apps.\n"));
wxMessageBox(msg, wxT("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
}
void wxEmulatorFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
#ifdef __WXX11__
if (wxGetApp().m_xnestWindow)
{
wxGetApp().m_xnestWindow->SetHandle((WXWindow) nullptr);
}
#endif
this->Destroy();
if (wxGetApp().m_xnestPID > 0)
{
wxKill(wxGetApp().m_xnestPID);
wxGetApp().m_xnestPID = 0;
}
}
wxIMPLEMENT_CLASS(wxEmulatorContainer, wxWindow);
wxBEGIN_EVENT_TABLE(wxEmulatorContainer, wxWindow)
EVT_SIZE(wxEmulatorContainer::OnSize)
EVT_PAINT(wxEmulatorContainer::OnPaint)
EVT_ERASE_BACKGROUND(wxEmulatorContainer::OnEraseBackground)
wxEND_EVENT_TABLE()
wxEmulatorContainer::wxEmulatorContainer(wxWindow* parent, wxWindowID id):
wxWindow(parent, id, wxDefaultPosition, wxDefaultSize)
{
}
void wxEmulatorContainer::OnSize(wxSizeEvent& WXUNUSED(event))
{
DoResize();
}
void wxEmulatorContainer::DoResize()
{
wxSize sz = GetClientSize();
if (wxGetApp().m_xnestWindow
#ifdef __WXX11__
&& wxGetApp().m_xnestWindow->X11GetMainWindow()
#endif
)
{
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
int x = wxMax(0, (int) ((sz.x - deviceWidth)/2.0));
int y = wxMax(0, (int) ((sz.y - deviceHeight)/2.0));
x += wxGetApp().m_emulatorInfo.m_emulatorScreenPosition.x;
y += wxGetApp().m_emulatorInfo.m_emulatorScreenPosition.y;
wxGetApp().m_xnestWindow->Move(x, y);
}
Refresh();
}
void wxEmulatorContainer::OnPaint(wxPaintEvent& WXUNUSED(event))
{
wxPaintDC dc(this);
wxSize sz = GetClientSize();
if (wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap.IsOk())
{
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
int x = wxMax(0, (int) ((sz.x - deviceWidth)/2.0));
int y = wxMax(0, (int) ((sz.y - deviceHeight)/2.0));
dc.DrawBitmap(wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap, x, y);
}
}
void wxEmulatorContainer::OnEraseBackground(wxEraseEvent& event)
{
wxDC* dc wxDUMMY_INITIALIZE(nullptr);
if (event.GetDC())
{
dc = event.GetDC();
}
else
{
dc = new wxClientDC(this);
}
dc->SetBackground(wxBrush(wxGetApp().m_emulatorInfo.m_emulatorBackgroundColour));
dc->Clear();
if (!event.GetDC())
delete dc;
}
// Information about the emulator decorations
void wxEmulatorInfo::Copy(const wxEmulatorInfo& info)
{
m_emulatorFilename = info.m_emulatorFilename;
m_emulatorTitle = info.m_emulatorTitle;
m_emulatorDescription = info.m_emulatorDescription;
m_emulatorScreenPosition = info.m_emulatorScreenPosition;
m_emulatorScreenSize = info.m_emulatorScreenSize;
m_emulatorBackgroundBitmap = info.m_emulatorBackgroundBitmap;
m_emulatorBackgroundBitmapName = info.m_emulatorBackgroundBitmapName;
m_emulatorBackgroundColour = info.m_emulatorBackgroundColour;
m_emulatorDeviceSize = info.m_emulatorDeviceSize;
}
// Initialisation
void wxEmulatorInfo::Init()
{
m_emulatorDeviceSize = wxSize(260, 340);
m_emulatorScreenSize = wxSize(240, 320);
}
// Loads bitmaps
bool wxEmulatorInfo::Load(const wxString& appDir)
{
// Try to find absolute path
wxString absoluteConfigPath = m_emulatorFilename;
if ( !::wxIsAbsolutePath(absoluteConfigPath) )
{
wxString currDir = wxGetCwd();
absoluteConfigPath = currDir + wxString(wxFILE_SEP_PATH) + m_emulatorFilename;
if ( !wxFile::Exists(absoluteConfigPath) )
{
absoluteConfigPath = appDir + wxString(wxFILE_SEP_PATH)
+ m_emulatorFilename;
}
}
if ( !wxFile::Exists(absoluteConfigPath) )
{
wxString str;
str.Printf( wxT("Could not find config file %s"),
absoluteConfigPath.c_str() );
wxMessageBox(str);
return false;
}
wxString rootPath = wxPathOnly(absoluteConfigPath);
{
wxFileConfig config(wxT("wxEmulator"), wxT("wxWidgets"),
absoluteConfigPath, wxEmptyString, wxCONFIG_USE_LOCAL_FILE);
config.Read(wxT("/General/title"), & m_emulatorTitle);
config.Read(wxT("/General/description"), & m_emulatorDescription);
config.Read(wxT("/General/backgroundBitmap"), & m_emulatorBackgroundBitmapName);
wxString colString;
if (config.Read(wxT("/General/backgroundColour"), & colString) ||
config.Read(wxT("/General/backgroundColor"), & colString)
)
{
m_emulatorBackgroundColour = wxHexStringToColour(colString);
}
int x = 0, y = 0, w = 0, h = 0, dw = 0, dh = 0;
config.Read(wxT("/General/screenX"), & x);
config.Read(wxT("/General/screenY"), & y);
config.Read(wxT("/General/screenWidth"), & w);
config.Read(wxT("/General/screenHeight"), & h);
if (config.Read(wxT("/General/deviceWidth"), & dw) && config.Read(wxT("/General/deviceHeight"), & dh))
{
m_emulatorDeviceSize = wxSize(dw, dh);
}
m_emulatorScreenPosition = wxPoint(x, y);
m_emulatorScreenSize = wxSize(w, h);
}
if (!m_emulatorBackgroundBitmapName.empty())
{
wxString absoluteBackgroundBitmapName = rootPath + wxString(wxFILE_SEP_PATH) + m_emulatorBackgroundBitmapName;
if ( !wxFile::Exists(absoluteBackgroundBitmapName) )
{
wxString str;
str.Printf( wxT("Could not find bitmap %s"),
absoluteBackgroundBitmapName.c_str() );
wxMessageBox(str);
return false;
}
wxBitmapType type = wxDetermineImageType(m_emulatorBackgroundBitmapName);
if (type == wxBITMAP_TYPE_INVALID)
return false;
if (!m_emulatorBackgroundBitmap.LoadFile(m_emulatorBackgroundBitmapName, type))
{
wxString str;
str.Printf( wxT("Could not load bitmap file %s"),
m_emulatorBackgroundBitmapName.c_str() );
wxMessageBox(str);
return false;
}
m_emulatorDeviceSize = wxSize(m_emulatorBackgroundBitmap.GetWidth(),
m_emulatorBackgroundBitmap.GetHeight());
}
return true;
}
// Returns the image type, or -1, determined from the extension.
wxBitmapType wxDetermineImageType(const wxString& filename)
{
wxString path, name, ext;
wxFileName::SplitPath(filename, & path, & name, & ext);
ext.MakeLower();
if (ext == wxT("jpg") || ext == wxT("jpeg"))
return wxBITMAP_TYPE_JPEG;
if (ext == wxT("gif"))
return wxBITMAP_TYPE_GIF;
if (ext == wxT("bmp"))
return wxBITMAP_TYPE_BMP;
if (ext == wxT("png"))
return wxBITMAP_TYPE_PNG;
if (ext == wxT("pcx"))
return wxBITMAP_TYPE_PCX;
if (ext == wxT("tif") || ext == wxT("tiff"))
return wxBITMAP_TYPE_TIFF;
return wxBITMAP_TYPE_INVALID;
}
// Convert a colour to a 6-digit hex string
wxString wxColourToHexString(const wxColour& col)
{
wxString hex;
hex += wxDecToHex(col.Red());
hex += wxDecToHex(col.Green());
hex += wxDecToHex(col.Blue());
return hex;
}
// Convert 6-digit hex string to a colour
wxColour wxHexStringToColour(const wxString& hex)
{
unsigned char r = (unsigned char)wxHexToDec(hex.Mid(0, 2));
unsigned char g = (unsigned char)wxHexToDec(hex.Mid(2, 2));
unsigned char b = (unsigned char)wxHexToDec(hex.Mid(4, 2));
return wxColour(r, g, b);
}
// Find the absolute path where this application has been run from.
// argv0 is wxTheApp->argv[0]
// cwd is the current working directory (at startup)
// appVariableName is the name of a variable containing the directory for this app, e.g.
// MYAPPDIR. This is checked first.
wxString wxFindAppPath(const wxString& argv0, const wxString& cwd, const wxString& appVariableName)
{
wxString str;
// Try appVariableName
if (!appVariableName.empty())
{
str = wxGetenv(appVariableName);
if (!str.empty())
return str;
}
if (wxIsAbsolutePath(argv0))
return wxPathOnly(argv0);
else
{
// Is it a relative path?
wxString currentDir(cwd);
if (!wxEndsWithPathSeparator(currentDir))
currentDir += wxFILE_SEP_PATH;
str = currentDir + argv0;
if ( wxFile::Exists(str) )
return wxPathOnly(str);
}
// OK, it's neither an absolute path nor a relative path.
// Search PATH.
wxPathList pathList;
pathList.AddEnvList(wxT("PATH"));
str = pathList.FindAbsoluteValidPath(argv0);
if (!str.empty())
return wxPathOnly(str);
// Failed
return wxEmptyString;
}

View file

@ -1,163 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Name: emulator.h
// Purpose: wxX11-based PDA emulator classes
// Author: Julian Smart
// Modified by:
// Created: 2002-03-10
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_EMULATOR_H_
#define _WX_EMULATOR_H_
#define wxEMULATOR_VERSION 0.1
// Information about the emulator decorations
class wxEmulatorInfo: public wxObject
{
public:
wxEmulatorInfo() { Init(); }
wxEmulatorInfo(const wxEmulatorInfo& info) : wxObject() { Init(); Copy(info); }
void operator= (const wxEmulatorInfo& info) { Copy(info); }
void Copy(const wxEmulatorInfo& info);
// Initialisation
void Init();
// Loads bitmaps
bool Load(const wxString& appDir);
// Emulator config filename
wxString m_emulatorFilename;
// Emulator title
wxString m_emulatorTitle;
// Emulator description
wxString m_emulatorDescription;
// The offset from the top-left of the main emulator
// bitmap and the virtual screen (where Xnest is
// positioned)
wxPoint m_emulatorScreenPosition;
// The emulated screen size, e.g. 320x240
wxSize m_emulatorScreenSize;
// The emulated device size. This is ignored
// if there is a background bitmap
wxSize m_emulatorDeviceSize;
// The bitmap used for drawing the main emulator
// decorations
wxBitmap m_emulatorBackgroundBitmap;
wxString m_emulatorBackgroundBitmapName;
// The intended background colour (for filling in
// areas of the window not covered by the bitmap)
wxColour m_emulatorBackgroundColour;
// TODO: an array of bitmaps and ids for custom buttons
};
// Emulator app class
class wxEmulatorContainer;
class wxEmulatorApp : public wxApp
{
public:
wxEmulatorApp();
virtual bool OnInit();
// Load the specified emulator
bool LoadEmulator(const wxString& appDir);
// Get app dir
wxString GetAppDir() const { return m_appDir; }
// Prepend the current app program directory to the name
wxString GetFullAppPath(const wxString& filename) const;
public:
wxEmulatorInfo m_emulatorInfo;
#ifdef __WXX11__
wxAdoptedWindow* m_xnestWindow;
#else
wxWindow* m_xnestWindow;
#endif
wxEmulatorContainer* m_containerWindow;
wxString m_appDir;
wxString m_displayNumber;
long m_xnestPID;
};
// The container for the Xnest window. The decorations
// will be drawn on this window.
class wxEmulatorContainer: public wxWindow
{
public:
wxEmulatorContainer(wxWindow* parent, wxWindowID id);
void DoResize();
void OnSize(wxSizeEvent& event);
void OnPaint(wxPaintEvent& event);
void OnEraseBackground(wxEraseEvent& event);
wxDECLARE_CLASS(wxEmulatorContainer);
wxDECLARE_EVENT_TABLE();
};
// Frame class
class wxEmulatorFrame : public wxFrame
{
public:
// ctor(s)
wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
// event handlers
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnCloseWindow(wxCloseEvent& event);
private:
// any class wishing to process wxWidgets events must use this macro
wxDECLARE_EVENT_TABLE();
};
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// IDs for the controls and the menu commands
enum
{
// menu items
Emulator_Quit = 1,
// it is important for the id corresponding to the "About" command to have
// this standard value as otherwise it won't be handled properly under Mac
// (where it is special and put into the "Apple" menu)
Emulator_About = wxID_ABOUT
};
// Returns the image type, or -1, determined from the extension.
wxBitmapType wxDetermineImageType(const wxString& filename);
// Convert a colour to a 6-digit hex string
wxString wxColourToHexString(const wxColour& col);
// Convert 6-digit hex string to a colour
wxColour wxHexStringToColour(const wxString& hex);
// Find the absolute path where this application has been run from.
wxString wxFindAppPath(const wxString& argv0, const wxString& cwd, const wxString& appVariableName);
#endif
// _WX_EMULATOR_H_

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -1,3 +0,0 @@
emulator ICON "emulator.ico"
#include "wx/msw/wx.rc"

View file

@ -1,52 +0,0 @@
/* XPM */
static const char *const emulator_xpm[] = {
"32 32 17 1",
"( c #000000",
". c #000000",
"+ c #008484",
"@ c #848484",
"# c #A5A5A5",
"$ c None",
"% c #FFFFF7",
"& c #FFFFFF",
"* c #FFFFFF",
"= c #FFFFFF",
"- c #FFFFFF",
"; c #FFFFFF",
"> c #FFFFFF",
", c #FFFFFF",
"' c #FFFFFF",
") c #FFFFFF",
"! c #FFFFFF",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$%%%%%%%%%%%%%%%%%%%%%%%&@$$$$",
"$$$%######################@.$$$$",
"$$$%######################@.$$$$",
"$$$%##++++++++++++++++++##@.$$$$",
"$$$%##++++++++++++++++++##@.$$.$",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%######################@.$&.#",
"$$$%######################@.$&.#",
"$$$%##@####@##########@###@.$&.#",
"$$$%#@@@##@@@########@@@##@.$&.#",
"$$$%##@####@##########@###@.$&.#",
"$$$%######################@.$&.#",
"$$$&@@@@@@@@@@@@@@@@@@@@@@@.$&.#",
"$$$@........................$$$$"};

View file

@ -1,33 +0,0 @@
# Default emulator config file
[General]
# The title of the emulator
title = "iPAQ Emulator"
# An optional description
description = "No description yet"
# The top-left of the virtual screen relative
# to the background bitmap
screenX = 56
screenY = 69
# The size of the virtual screen
screenWidth = 240
screenHeight = 320
# The size of the overall device -
# only necessary if not specifying a background
# bitmap
# deviceWidth = 260
# deviceHeight = 340
# The main bitmap representing the device.
# You can use PNG, JPG, TIFF, BMP, XPM, GIF
backgroundBitmap = "ipaq01.jpg"
# Hex string for background colour. You can
# also use the name 'backgroundColor'
backgroundColour = "000000"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View file

@ -1,221 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
include ../../../build/msw/config.gcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF$@.d -MD -MP
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = gcc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
WXEMULATOR_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
-I$(SETUPHDIR) -I.\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) -W \
-Wall -I. $(__DLLFLAG_p) -I.\..\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
$(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
WXEMULATOR_OBJECTS = \
$(OBJS)\wxemulator_sample_rc.o \
$(OBJS)\wxemulator_emulator.o
### Conditionally set variables: ###
ifeq ($(USE_GUI),0)
PORTNAME = base
endif
ifeq ($(USE_GUI),1)
PORTNAME = msw$(TOOLKIT_VERSION)
endif
ifeq ($(OFFICIAL_BUILD),1)
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
endif
ifeq ($(BUILD),debug)
WXDEBUGFLAG = d
endif
ifeq ($(WXUNIV),1)
WXUNIVNAME = univ
endif
ifeq ($(SHARED),1)
WXDLLFLAG = dll
endif
ifeq ($(SHARED),0)
LIBTYPE_SUFFIX = lib
endif
ifeq ($(SHARED),1)
LIBTYPE_SUFFIX = dll
endif
ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
endif
ifeq ($(BUILD),release)
__OPTIMIZEFLAG_2 = -O2
endif
ifeq ($(USE_RTTI),0)
__RTTIFLAG_5 = -fno-rtti
endif
ifeq ($(USE_RTTI),1)
__RTTIFLAG_5 =
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONSFLAG_6 = -fno-exceptions
endif
ifeq ($(USE_EXCEPTIONS),1)
__EXCEPTIONSFLAG_6 =
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p = -DNDEBUG
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p_1 = --define NDEBUG
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p = -DwxNO_RTTI
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p_1 = --define wxNO_RTTI
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p = -DwxNO_THREADS
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p_1 = --define wxNO_THREADS
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_INCLUDEDIR_FILENAMES_p = -I$(CAIRO_ROOT)\include\cairo
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo
endif
ifeq ($(SHARED),1)
__DLLFLAG_p = -DWXUSINGDLL
endif
ifeq ($(SHARED),1)
__DLLFLAG_p_1 = --define WXUSINGDLL
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_CORE_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
__WXLIB_MONO_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_SCINTILLA_IF_MONO_p = -lwxscintilla$(WXDEBUGFLAG)
endif
endif
ifeq ($(USE_GUI),1)
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_LIB_p = -lcairo
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_LIBDIR_FILENAMES_p = -L$(CAIRO_ROOT)\lib
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO = -g
endif
endif
ifeq ($(BUILD),release)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO =
endif
endif
ifeq ($(DEBUG_INFO),0)
__DEBUGINFO =
endif
ifeq ($(DEBUG_INFO),1)
__DEBUGINFO = -g
endif
ifeq ($(USE_THREADS),0)
__THREADSFLAG =
endif
ifeq ($(USE_THREADS),1)
__THREADSFLAG = -mthreads
endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\wxemulator.exe data
clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\wxemulator.exe del $(OBJS)\wxemulator.exe
$(OBJS)\wxemulator.exe: $(WXEMULATOR_OBJECTS) $(OBJS)\wxemulator_sample_rc.o
$(foreach f,$(subst \,/,$(WXEMULATOR_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
@move /y $@.rsp.tmp $@.rsp >nul
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
@-del $@.rsp
data:
if not exist $(OBJS) mkdir $(OBJS)
for %%f in (default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
$(OBJS)\wxemulator_sample_rc.o: ./../../../samples/sample.rc
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../../samples --define NOPCH
$(OBJS)\wxemulator_emulator.o: ./emulator.cpp
$(CXX) -c -o $@ $(WXEMULATOR_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean data
SHELL := $(COMSPEC)
# Dependencies tracking:
-include $(OBJS)/*.d

View file

@ -1,424 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include <../../../build/msw/config.vc>
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = vc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
WXEMULATOR_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
$(__DEBUGINFO_0) /Fd$(OBJS)\wxemulator.pdb $(____DEBUGRUNTIME_3_p) \
$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
/I$(SETUPHDIR) /I.\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 \
/I. $(__DLLFLAG_p) /D_WINDOWS /I.\..\..\..\samples /DNOPCH $(__RTTIFLAG_11) \
$(__EXCEPTIONSFLAG_12) $(CPPFLAGS) $(CXXFLAGS)
WXEMULATOR_OBJECTS = \
$(OBJS)\wxemulator_emulator.obj
WXEMULATOR_RESOURCES = \
$(OBJS)\wxemulator_sample.res
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ARM64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "arm64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw$(TOOLKIT_VERSION)
!endif
!if "$(OFFICIAL_BUILD)" == "1"
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ARM64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "arm64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_6 = /Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_6 = /O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_9 = L
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_9 = T
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
!endif
!if "$(USE_RTTI)" == "0"
__RTTIFLAG_11 = /GR-
!endif
!if "$(USE_RTTI)" == "1"
__RTTIFLAG_11 = /GR
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONSFLAG_12 =
!endif
!if "$(USE_EXCEPTIONS)" == "1"
__EXCEPTIONSFLAG_12 = /EHsc
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p_1 = /d TARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p_1 = /d wxDEBUG_LEVEL=0
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = /DwxNO_RTTI
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p_1 = /d wxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = /DwxNO_THREADS
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p_1 = /d wxNO_THREADS
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_1_p = /i $(CAIRO_ROOT)\include\cairo
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = /DWXUSINGDLL
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p_1 = /d WXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_CORE_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_SCINTILLA_IF_MONO_p = wxscintilla$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(USE_CAIRO)" == "1"
__CAIRO_LIB_p = cairo.lib
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\wxemulator.exe data
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\wxemulator.exe del $(OBJS)\wxemulator.exe
-if exist $(OBJS)\wxemulator.ilk del $(OBJS)\wxemulator.ilk
-if exist $(OBJS)\wxemulator.pdb del $(OBJS)\wxemulator.pdb
$(OBJS)\wxemulator.exe: $(WXEMULATOR_OBJECTS) $(OBJS)\wxemulator_sample.res
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\wxemulator.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
$(WXEMULATOR_OBJECTS) $(WXEMULATOR_RESOURCES) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
<<
data:
if not exist $(OBJS) mkdir $(OBJS)
for %f in (default.wxe ipaq.wxe bluegradient.jpg ipaq01.jpg) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
$(OBJS)\wxemulator_sample.res: .\..\..\..\samples\sample.rc
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) $(__TARGET_CPU_COMPFLAG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\..\samples /d NOPCH .\..\..\..\samples\sample.rc
$(OBJS)\wxemulator_emulator.obj: .\emulator.cpp
$(CXX) /c /nologo /TP /Fo$@ $(WXEMULATOR_CXXFLAGS) .\emulator.cpp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

View file

@ -1,44 +0,0 @@
/* XPM */
static const char *const mondrian_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 6 1",
" c Black",
". c Blue",
"X c #00bf00",
"o c Red",
"O c Yellow",
"+ c Gray100",
/* pixels */
" ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" oooooo +++++++++++++++++++++++ ",
" ",
" ++++++ ++++++++++++++++++ .... ",
" ++++++ ++++++++++++++++++ .... ",
" ++++++ ++++++++++++++++++ .... ",
" ++++++ ++++++++++++++++++ .... ",
" ++++++ ++++++++++++++++++ .... ",
" ++++++ ++++++++++++++++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
" "
};

View file

@ -1,126 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
EXEEXT = @EXEEXT@
STRIP = @STRIP@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DIR = @INSTALL_DIR@
BK_DEPS = @BK_DEPS@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
bindir = @bindir@
LIBS = @LIBS@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
TOOLKIT = @TOOLKIT@
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
TOOLKIT_VERSION = @TOOLKIT_VERSION@
EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@
WX_CPPFLAGS = @WX_CPPFLAGS@
WX_CXXFLAGS = @WX_CXXFLAGS@
WX_LDFLAGS = @WX_LDFLAGS@
HOST_SUFFIX = @HOST_SUFFIX@
wx_top_builddir = @wx_top_builddir@
### Variables: ###
DESTDIR =
WX_RELEASE = 3.3
LIBDIRNAME = $(wx_top_builddir)/lib
EXECMON_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -DwxUSE_GUI=0 $(WX_CXXFLAGS) \
$(CPPFLAGS) $(CXXFLAGS)
EXECMON_OBJECTS = \
execmon_execmon.o
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@COND_BUILD_debug@WXDEBUGFLAG = d
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
@COND_USE_XRC_1@__execmon___depname = execmon$(EXEEXT)
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
COND_MONOLITHIC_0___WXLIB_BASE_p = \
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
@COND_USE_XRC_1@__install_execmon___depname = install_execmon
@COND_USE_XRC_1@__uninstall_execmon___depname = uninstall_execmon
COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@COND_MONOLITHIC_1@__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
### Targets: ###
all: $(__execmon___depname)
install: $(__install_execmon___depname)
uninstall: $(__uninstall_execmon___depname)
install-strip: install
$(STRIP) $(DESTDIR)$(bindir)/execmon$(EXEEXT)
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f execmon$(EXEEXT)
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
@COND_USE_XRC_1@execmon$(EXEEXT): $(EXECMON_OBJECTS)
@COND_USE_XRC_1@ $(CXX) -o $@ $(EXECMON_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
@COND_USE_XRC_1@install_execmon: $(__execmon___depname)
@COND_USE_XRC_1@ $(INSTALL_DIR) $(DESTDIR)$(bindir)
@COND_USE_XRC_1@ $(INSTALL_PROGRAM) execmon$(EXEEXT) $(DESTDIR)$(bindir)
@COND_USE_XRC_1@uninstall_execmon:
@COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/execmon$(EXEEXT)
execmon_execmon.o: $(srcdir)/execmon.cpp
$(CXXC) -c -o $@ $(EXECMON_CXXFLAGS) $(srcdir)/execmon.cpp
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean install_execmon uninstall_execmon

View file

@ -1,13 +0,0 @@
<?xml version="1.0" ?>
<makefile>
<include file="../../build/bakefiles/common_samples.bkl"/>
<exe id="execmon" cond="USE_XRC=='1'"
template="wx_util_console" template_append="wx_append_base">
<sources>execmon.cpp</sources>
<wx-lib>base</wx-lib>
<install-to>$(BINDIR)</install-to>
</exe>
</makefile>

View file

@ -1,233 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: execmon.cpp
// Purpose: A simple execution monitor to test if wx samples crash at startup or not
// Author: Francesco Montorsi
// Modified by:
// Created: 25/3/09
// Copyright: (c) 2009 Francesco Montorsi
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/app.h"
#include "wx/log.h"
#endif // WX_PRECOMP
#include "wx/cmdline.h"
#include "wx/vector.h"
#include "wx/process.h"
#include "wx/sstream.h"
#include "wx/utils.h"
#include "wx/filename.h"
#include "wx/app.h"
#include "wx/log.h"
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// utility classes
// ----------------------------------------------------------------------------
class MonitoredProcess : public wxProcess
{
public:
MonitoredProcess()
{ Redirect(); m_crashed=false; m_exitCode=0; }
void OnTerminate(int WXUNUSED(pid), int status)
{
wxStringOutputStream out, err;
if (GetInputStream()) out.Write(*GetInputStream());
if (GetErrorStream()) err.Write(*GetErrorStream());
//wxPrintf("%s\n", stdout.GetString());
//wxPrintf("%s\n", stderr.GetString());
// when wx programs assert on wxGTK/wxMac, they put on stderr a message like:
// [Debug] date somefilename.pp(nnnn): assert "xxxxx" failed in yyyy
// but then the assert dialog pop-ups and thus the app doesn't exit
// FIXME: make assertion detection work also under other platforms
// see https://github.com/wxWidgets/wxWidgets/issues/10697
m_crashed = out.GetString().Contains("assert") ||
err.GetString().Contains("assert");
m_exitCode = status;
}
void Kill()
{
wxProcess::Kill(GetPid());
// wxProcess::Kill doesn't trigger a call to OnTerminate() normally...
// but we still need to call it!
OnTerminate(0, -1);
}
bool Crashed() const
{ return m_crashed; }
int GetExitCode() const
{ return m_exitCode; }
private:
bool m_crashed;
int m_exitCode;
};
class MonitorData
{
public:
MonitorData(const wxString& cmd) : program(cmd) {}
wxString program;
MonitoredProcess process;
};
// ----------------------------------------------------------------------------
// the real main
// ----------------------------------------------------------------------------
bool TestExec(const wxVector<wxFileName>& programs, long timeout)
{
size_t i;
wxVector<MonitorData*> data;
// run all programs specified as command line parameters
wxArrayLong procID;
for (i=0; i<programs.size(); i++)
{
MonitorData *dt = new MonitorData(programs[i].GetFullPath());
long pid = wxExecute(programs[i].GetFullPath(), wxEXEC_ASYNC, &dt->process);
if (pid == 0)
{
wxLogError("could not run the program '%s'", programs[i].GetFullPath());
}
else
{
wxLogMessage("started program '%s' (pid %d)...",
programs[i].GetFullPath(), pid);
wxASSERT(dt->process.GetPid() == pid);
data.push_back(dt);
}
}
// sleep some moments
wxSleep(timeout);
// check if all processes are still running
bool allok = true;
for (i=0; i<data.size(); i++)
{
MonitoredProcess& proc = data[i]->process;
const wxString& prog = data[i]->program;
if (wxProcess::Exists(proc.GetPid()))
proc.Kill();
else
{
// this typically never happens, at least when running wx-programs
// built with debug builds of wx (see MonitoredProcess::OnTerminate;
// even if an asserts fail the app doesn't automatically close!):
wxLogMessage("program '%s' (pid %d) is NOT running anymore...",
prog, proc.GetPid());
allok = false;
}
if (data[i]->process.Crashed())
{
allok = false;
wxLogMessage("program '%s' (pid %d) crashed...",
prog, proc.GetPid());
}
else
wxLogMessage("program '%s' (pid %d) ended with exit code %d...",
prog, proc.GetPid(), proc.GetExitCode());
}
return allok;
}
// ----------------------------------------------------------------------------
// main
// ----------------------------------------------------------------------------
int main(int argc, char **argv)
{
wxApp::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, "execmon");
wxInitializer initializer;
if ( !initializer )
{
fprintf(stderr, "Failed to initialize the wxWidgets library, aborting.");
return -1;
}
static const wxCmdLineEntryDesc cmdLineDesc[] =
{
{ wxCMD_LINE_SWITCH, "h", "help",
"show this help message",
wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
{ wxCMD_LINE_OPTION, "t", "timeout",
"kills all processes still alive after 'num' seconds",
wxCMD_LINE_VAL_NUMBER, 0 },
{ wxCMD_LINE_PARAM, "", "",
"program-to-run",
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE },
{ wxCMD_LINE_NONE }
};
wxLog::DisableTimestamp();
wxCmdLineParser parser(cmdLineDesc, argc, argv);
switch ( parser.Parse() )
{
case -1:
// help was shown
break;
case 0:
{
// check arguments
wxVector<wxFileName> programs;
for (unsigned int i=0; i<parser.GetParamCount(); i++)
{
wxFileName fn(parser.GetParam(i));
if (!fn.IsAbsolute())
fn.MakeAbsolute();
programs.push_back(fn);
}
long timeout;
if (!parser.Found("t", &timeout))
timeout = 3;
return TestExec(programs, timeout) ? 0 : 1;
}
break;
default:
// syntax error
break;
}
return 0;
}

View file

@ -1,182 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
include ../../build/msw/config.gcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF$@.d -MD -MP
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = gcc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
EXECMON_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) -W \
-Wall -I. $(__DLLFLAG_p) -DwxUSE_GUI=0 $(__RTTIFLAG_5) $(__EXCEPTIONSFLAG_6) \
-Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
EXECMON_OBJECTS = \
$(OBJS)\execmon_execmon.o
### Conditionally set variables: ###
ifeq ($(USE_GUI),0)
PORTNAME = base
endif
ifeq ($(USE_GUI),1)
PORTNAME = msw$(TOOLKIT_VERSION)
endif
ifeq ($(OFFICIAL_BUILD),1)
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
endif
ifeq ($(BUILD),debug)
WXDEBUGFLAG = d
endif
ifeq ($(WXUNIV),1)
WXUNIVNAME = univ
endif
ifeq ($(SHARED),1)
WXDLLFLAG = dll
endif
ifeq ($(SHARED),0)
LIBTYPE_SUFFIX = lib
endif
ifeq ($(SHARED),1)
LIBTYPE_SUFFIX = dll
endif
ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(USE_XRC),1)
__execmon___depname = $(OBJS)\execmon.exe
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
endif
ifeq ($(BUILD),release)
__OPTIMIZEFLAG_2 = -O2
endif
ifeq ($(USE_RTTI),0)
__RTTIFLAG_5 = -fno-rtti
endif
ifeq ($(USE_RTTI),1)
__RTTIFLAG_5 =
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONSFLAG_6 = -fno-exceptions
endif
ifeq ($(USE_EXCEPTIONS),1)
__EXCEPTIONSFLAG_6 =
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p = -DNDEBUG
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p = -DwxNO_RTTI
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p = -DwxNO_THREADS
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_INCLUDEDIR_FILENAMES_p = -I$(CAIRO_ROOT)\include\cairo
endif
ifeq ($(SHARED),1)
__DLLFLAG_p = -DWXUSINGDLL
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
__WXLIB_MONO_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
endif
ifeq ($(USE_GUI),1)
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_LIB_p = -lcairo
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_LIBDIR_FILENAMES_p = -L$(CAIRO_ROOT)\lib
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO = -g
endif
endif
ifeq ($(BUILD),release)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO =
endif
endif
ifeq ($(DEBUG_INFO),0)
__DEBUGINFO =
endif
ifeq ($(DEBUG_INFO),1)
__DEBUGINFO = -g
endif
ifeq ($(USE_THREADS),0)
__THREADSFLAG =
endif
ifeq ($(USE_THREADS),1)
__THREADSFLAG = -mthreads
endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(__execmon___depname)
clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\execmon.exe del $(OBJS)\execmon.exe
ifeq ($(USE_XRC),1)
$(OBJS)\execmon.exe: $(EXECMON_OBJECTS)
$(foreach f,$(subst \,/,$(EXECMON_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
@move /y $@.rsp.tmp $@.rsp >nul
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
@-del $@.rsp
endif
$(OBJS)\execmon_execmon.o: ./execmon.cpp
$(CXX) -c -o $@ $(EXECMON_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean
SHELL := $(COMSPEC)
# Dependencies tracking:
-include $(OBJS)/*.d

View file

@ -1,324 +0,0 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include <../../build/msw/config.vc>
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = vc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
EXECMON_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
$(__DEBUGINFO_0) /Fd$(OBJS)\execmon.pdb $(____DEBUGRUNTIME_3_p) \
$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 /I. \
$(__DLLFLAG_p) /D_CONSOLE /DwxUSE_GUI=0 $(__RTTIFLAG_11) \
$(__EXCEPTIONSFLAG_12) $(CPPFLAGS) $(CXXFLAGS)
EXECMON_OBJECTS = \
$(OBJS)\execmon_execmon.obj
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ARM64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "arm64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw$(TOOLKIT_VERSION)
!endif
!if "$(OFFICIAL_BUILD)" == "1"
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ARM64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "arm64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(USE_XRC)" == "1"
__execmon___depname = $(OBJS)\execmon.exe
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_6 = /Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_6 = /O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_9 = L
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_9 = T
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
!endif
!if "$(USE_RTTI)" == "0"
__RTTIFLAG_11 = /GR-
!endif
!if "$(USE_RTTI)" == "1"
__RTTIFLAG_11 = /GR
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONSFLAG_12 =
!endif
!if "$(USE_EXCEPTIONS)" == "1"
__EXCEPTIONSFLAG_12 = /EHsc
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = /DwxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = /DwxNO_THREADS
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = /DWXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(USE_CAIRO)" == "1"
__CAIRO_LIB_p = cairo.lib
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(__execmon___depname)
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\execmon.exe del $(OBJS)\execmon.exe
-if exist $(OBJS)\execmon.ilk del $(OBJS)\execmon.ilk
-if exist $(OBJS)\execmon.pdb del $(OBJS)\execmon.pdb
!if "$(USE_XRC)" == "1"
$(OBJS)\execmon.exe: $(EXECMON_OBJECTS)
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\execmon.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
$(EXECMON_OBJECTS) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
<<
!endif
$(OBJS)\execmon_execmon.obj: .\execmon.cpp
$(CXX) /c /nologo /TP /Fo$@ $(EXECMON_CXXFLAGS) .\execmon.cpp

View file

@ -36,25 +36,17 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
### Targets: ###
all: emulator execmon helpview hhp2cached ifacecheck screenshotgen wxrc
all: helpview hhp2cached ifacecheck screenshotgen wxrc
clean:
-if exist .\*.o del .\*.o
-if exist .\*.d del .\*.d
$(MAKE) -C emulator\src -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C execmon -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C helpview\src -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C hhp2cached -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C ifacecheck\src -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C screenshotgen\src -f makefile.gcc $(MAKEARGS) clean
$(MAKE) -C wxrc -f makefile.gcc $(MAKEARGS) clean
emulator:
$(MAKE) -C emulator\src -f makefile.gcc $(MAKEARGS) all
execmon:
$(MAKE) -C execmon -f makefile.gcc $(MAKEARGS) all
helpview:
$(MAKE) -C helpview\src -f makefile.gcc $(MAKEARGS) all
@ -70,8 +62,7 @@ screenshotgen:
wxrc:
$(MAKE) -C wxrc -f makefile.gcc $(MAKEARGS) all
.PHONY: all clean emulator execmon helpview hhp2cached ifacecheck screenshotgen \
wxrc
.PHONY: all clean helpview hhp2cached ifacecheck screenshotgen wxrc
SHELL := $(COMSPEC)

View file

@ -36,18 +36,12 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
### Targets: ###
all: sub_emulator sub_execmon sub_helpview sub_hhp2cached sub_ifacecheck sub_screenshotgen sub_wxrc
all: sub_helpview sub_hhp2cached sub_ifacecheck sub_screenshotgen sub_wxrc
clean:
-if exist .\*.obj del .\*.obj
-if exist .\*.res del .\*.res
-if exist .\*.pch del .\*.pch
cd emulator\src
$(MAKE) -f makefile.vc $(MAKEARGS) clean
cd "$(MAKEDIR)"
cd execmon
$(MAKE) -f makefile.vc $(MAKEARGS) clean
cd "$(MAKEDIR)"
cd helpview\src
$(MAKE) -f makefile.vc $(MAKEARGS) clean
cd "$(MAKEDIR)"
@ -64,16 +58,6 @@ clean:
$(MAKE) -f makefile.vc $(MAKEARGS) clean
cd "$(MAKEDIR)"
sub_emulator:
cd emulator\src
$(MAKE) -f makefile.vc $(MAKEARGS) all
cd "$(MAKEDIR)"
sub_execmon:
cd execmon
$(MAKE) -f makefile.vc $(MAKEARGS) all
cd "$(MAKEDIR)"
sub_helpview:
cd helpview\src
$(MAKE) -f makefile.vc $(MAKEARGS) all

View file

@ -7,16 +7,6 @@
<dependency-of>all</dependency-of>
</template>
<subproject id="emulator" template="sub">
<dir>emulator/src</dir>
<installable>no</installable>
</subproject>
<subproject id="execmon" template="sub">
<dir>execmon</dir>
<installable>yes</installable>
</subproject>
<subproject id="helpview" template="sub">
<dir>helpview/src</dir>
<installable>no</installable>