This commit is contained in:
nephacks
2025-06-04 03:22:50 +02:00
parent f234f23848
commit f12416cffd
14243 changed files with 6446499 additions and 26 deletions

View File

@@ -0,0 +1,23 @@
/* ------------------------------- msgpack.h -------------------------------- */
/*------------------------------------------------------------------------------
Selected message unpacking macros from windowsx.h
to circumvent compile-time memory headaches.
------------------------------------------------------------------------------*/
#ifdef WIN32
#define GET_WM_ACTIVATE_STATE(wp, lp) LOWORD(wp)
#define GET_WM_COMMAND_ID(wp, lp) LOWORD(wp)
#define GET_WM_COMMAND_HWND(wp, lp) (HWND)(lp)
#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)
#define FORWARD_WM_COMMAND(hwnd, id, hwndCtl, codeNotify, fn) \
(void)(fn)((hwnd), WM_COMMAND, MAKEWPARAM((UINT)(id),(UINT)(codeNotify)), (LPARAM)(HWND)(hwndCtl))
/* -------------------------------------------------------------------------- */
#else
#define GET_WM_ACTIVATE_STATE(wp, lp) (wp)
#define GET_WM_COMMAND_ID(wp, lp) (wp)
#define GET_WM_COMMAND_HWND(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(lp)
#define FORWARD_WM_COMMAND(hwnd, id, hwndCtl, codeNotify, fn) \
(void)(fn)((hwnd), WM_COMMAND, (WPARAM)(int)(id), MAKELPARAM((UINT)(hwndCtl), (codeNotify)))
/* -------------------------------------------------------------------------- */
#endif


View File

@@ -0,0 +1,266 @@
/*------------------------------------------------------------------------------
Rule2 - a simple WinTab program: test of spec. addenda
RICO 10/17/91
------------------------------------------------------------------------------*/
#include <string.h>
#include <windows.h>
#include "msgpack.h"
#include <stdlib.h>
#include <wintab.h>
#ifdef USE_X_LIB
#include <wintabx.h>
#endif
#define PACKETDATA (PK_X | PK_Y | PK_BUTTONS)
#define PACKETMODE PK_BUTTONS
#include <pktdef.h>
#include "rule2.h"
/* -------------------------------------------------------------------------- */
#define Inch2Cm CASTFIX32(2.54)
#define Cm2Inch CASTFIX32(1.0/2.54)
/* -------------------------------------------------------------------------- */
char _szAppName[] = "Rule2";
HANDLE __hInstance = NULL; /* Our instance handle */
LRESULT FAR PASCAL RuleAppWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
BOOL NEAR PASCAL RegisterAppWndClass (HANDLE hInstance);
/* -------------------------------------------------------------------------- */
int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
MSG msg;
HWND hWnd;
__hInstance = hInstance;
if (hPrevInstance == NULL)
if (!RegisterAppWndClass(hInstance))
return(0);
hWnd = CreateDialog( hInstance, _szAppName, NULL, NULL);
if (hWnd == NULL)
return(0);
ShowWindow(hWnd, nCmdShow);
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
#ifdef USE_X_LIB
_UnlinkWintab();
#endif
return(0);
}
/* -------------------------------------------------------------------------- */
BOOL NEAR PASCAL RegisterAppWndClass (HANDLE hInstance)
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.lpfnWndProc = RuleAppWndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = DLGWINDOWEXTRA;
WndClass.hInstance = hInstance;
WndClass.hIcon = LoadIcon(hInstance, _szAppName);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
WndClass.lpszMenuName = NULL;
WndClass.lpszClassName = _szAppName;
return(RegisterClass(&WndClass));
}
/* -------------------------------------------------------------------------- */
HCTX static NEAR TabletInit(HWND hWnd, FIX32 scale[])
{
LOGCONTEXT lcMine;
/* get default region */
WTInfo(WTI_DEFCONTEXT, 0, &lcMine);
/* modify the digitizing region */
strcpy(lcMine.lcName, "Rule2 Digitizing");
lcMine.lcOptions |= CXO_MESSAGES;
lcMine.lcPktData = PACKETDATA;
lcMine.lcPktMode = PACKETMODE;
lcMine.lcMoveMask = PACKETDATA;
lcMine.lcBtnUpMask = lcMine.lcBtnDnMask;
/* output in 1000ths of cm */
lcMine.lcOutOrgX = lcMine.lcOutOrgY = 0;
lcMine.lcOutExtX = INT(scale[0] * lcMine.lcInExtX);
lcMine.lcOutExtY = INT(scale[1] * lcMine.lcInExtY);
/* open the region */
return WTOpen(hWnd, &lcMine, TRUE);
}
/* -------------------------------------------------------------------------- */
/* return scaling factors in thousandths of cm per axis unit */
static void TabletScaling(FIX32 scale[])
{
AXIS aXY[2];
int i;
UINT wDevice;
/* get the data */
WTInfo(WTI_DEFCONTEXT, CTX_DEVICE, &wDevice);
WTInfo(WTI_DEVICES+wDevice, DVC_X, &aXY[0]);
WTInfo(WTI_DEVICES+wDevice, DVC_Y, &aXY[1]);
/* calculate the scaling factors */
for (i = 0; i < 2; i++) {
FIX_DIV(scale[i], CASTFIX32(1000), aXY[i].axResolution);
if (aXY[i].axUnits == TU_INCHES) {
FIX_MUL(scale[i], scale[i], Inch2Cm);
}
}
}
/* -------------------------------------------------------------------------- */
DWORD nsqrt(DWORD x)
{
/* integer square root via Newton's method. */
DWORD guess, oguess;
if (x <= 1)
return x;
guess = 1;
do
{
oguess = guess;
guess = (guess + x/guess)/2;
}
while (labs(guess - oguess) > 1);
if (guess == oguess)
guess++;
if (labs((guess * guess) - x) > labs((oguess * oguess) - x))
guess = oguess;
return guess;
}
/* -------------------------------------------------------------------------- */
LRESULT FAR PASCAL RuleAppWndProc (HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)
{
static int inMode = ID_CLICK;
static LONG x1 = 0, x2 = 0, y1 = 0, y2 = 0;
static HCTX hTab = NULL;
static FIX32 scale[2];
PAINTSTRUCT psPaint;
HDC hDC;
PACKET pkt;
switch (wMsg) {
case WM_CREATE:
TabletScaling(scale);
hTab = TabletInit(hWnd, scale);
WTEnable(hTab, FALSE);
break;
case WM_LBUTTONDOWN:
case WM_KEYDOWN:
if (inMode == ID_CLICK && hTab) {
inMode = ID_PRESS;
WTEnable(hTab, TRUE);
WTOverlap(hTab, TRUE);
InvalidateRect(hWnd, NULL, TRUE);
}
break;
case WM_PAINT:
hDC = BeginPaint(hWnd, &psPaint);
ShowWindow(GetDlgItem(hWnd, ID_CLICK), inMode == ID_CLICK);
ShowWindow(GetDlgItem(hWnd, ID_PRESS), inMode == ID_PRESS);
ShowWindow(GetDlgItem(hWnd, ID_RELEASE), inMode == ID_RELEASE);
if (inMode == ID_CLICK) {
LONG delta[3]; /* horz/vert/diag */
int i;
delta[0] = labs(x2 - x1);
delta[1] = labs(y2 - y1);
delta[2] = nsqrt(delta[0] * delta[0] + delta[1] * delta[1]);
for (i = 0; i < 3; i++) { /* direction */
char buf[20];
/* print result in cm */
wsprintf(buf, "%d.%3.3d", (UINT)delta[i]/1000,
(UINT)delta[i]%1000);
SetWindowText(GetDlgItem(hWnd, ID_HC + i), buf);
/* convert to inches */
delta[i] = INT(delta[i] * Cm2Inch);
/* print result in inches */
wsprintf(buf, "%d.%3.3d", (UINT)delta[i]/1000,
(UINT)delta[i]%1000);
SetWindowText(GetDlgItem(hWnd, ID_HI + i), buf);
}
}
EndPaint(hWnd, &psPaint);
break;
case WM_DESTROY:
if (hTab)
WTClose(hTab);
PostQuitMessage(0);
break;
case WM_ACTIVATE:
/* if switching in the middle, disable the region */
if (hTab && inMode != ID_CLICK) {
WTEnable(hTab, GET_WM_ACTIVATE_STATE(wParam, lParam));
if (hTab && GET_WM_ACTIVATE_STATE(wParam, lParam))
WTOverlap(hTab, TRUE);
}
break;
case WT_PACKET:
if (WTPacket((HCTX)lParam, wParam, &pkt)) {
static DWORD bmap;
/* handle it */
if (HIWORD(pkt.pkButtons)) {
DWORD bit = 1 << LOWORD(pkt.pkButtons);
if (HIWORD(pkt.pkButtons) == TBN_DOWN) {
bmap |= bit;
}
else {
bmap &= ~bit;
}
}
if (inMode == ID_PRESS && HIWORD(pkt.pkButtons) == TBN_DOWN) {
x1 = pkt.pkX;
y1 = pkt.pkY;
inMode = ID_RELEASE;
InvalidateRect(hWnd, NULL, TRUE);
}
if (inMode == ID_RELEASE && bmap == 0) {
WTEnable(hTab, FALSE);
x2 = pkt.pkX;
y2 = pkt.pkY;
inMode = ID_CLICK;
InvalidateRect(hWnd, NULL, TRUE);
}
}
break;
default:
return DefWindowProc(hWnd, wMsg, wParam, lParam);
}
return (LRESULT)0;
}
/* -------------------------------------------------------------------------- */

View File

@@ -0,0 +1,29 @@
DLGINCLUDE RCDATA DISCARDABLE
BEGIN
"RULE2.H\0"
END
Rule2 DIALOG 16, 65, 160, 100
STYLE WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Rule2"
CLASS "Rule2"
FONT 8, "Helv"
BEGIN
LTEXT "Horizontal", 101, 5, 66, 44, 8
LTEXT "Vertical", 102, 5, 74, 44, 8
LTEXT "Diagonal", 103, 5, 82, 44, 8
LTEXT "Inches", 104, 53, 54, 24, 8
LTEXT "Centimeters", 105, 83, 54, 42, 8
LTEXT "Click me to measure.", ID_CLICK, 8, 22, 138, 8
LTEXT "Hold down a button to start.", ID_PRESS, 8, 30, 138, 8,
NOT WS_VISIBLE
LTEXT "Release the button to finish.", ID_RELEASE, 8, 38, 138,
8, NOT WS_VISIBLE
LTEXT "0", ID_HI, 53, 66, 24, 8
LTEXT "0", ID_VI, 53, 74, 24, 8
LTEXT "0", ID_DI, 53, 82, 24, 8
LTEXT "0", ID_HC, 83, 66, 42, 8
LTEXT "0", ID_VC, 83, 74, 42, 8
LTEXT "0", ID_DC, 83, 82, 42, 8
END


View File

@@ -0,0 +1,11 @@
#define IDD_RULE 100
#define ID_CLICK 106
#define ID_PRESS 107
#define ID_RELASE 108
#define ID_HI 109
#define ID_VI 110
#define ID_DI 111
#define ID_HC 112
#define ID_VC 113
#define ID_DC 114
#define ID_RELEASE 115

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,7 @@
#include "windows.h"
#include "rule2.h"
rcinclude rule2.dlg
Rule2 ICON Rule2.ico


View File

@@ -0,0 +1,17 @@
# If no CPUTYPE variable is defined, then we are running on a DOS system
# so lets whack in some flags and switches to match the NTWIN32.MAK
# settings:
srcdir=..
model=S
rc=rc
hcopts = -n
cc = cl
cdebug = -Zipel -Od
cflags = -c -A$(model) -Gsw -W3 $(cdebug)
cvars = -D$(ENV)
linkdebug =
link = link $(linkdebug)
guiflags = /NOE /NOD /CO /align:16
guilibs = libw $(model)libcew ver commdlg
guilibsdll = libw $(model)dllcew ver commdlg


View File

@@ -0,0 +1,58 @@
!IF "$(CPU)" != ""
OS=NT
ENV=WIN32
!ELSE
OS=DOS
ENV=WIN16
!ENDIF
# Environment variables LIB and INCLUDE should point to your Win SDK libraries
# and include files.
# Define WINTAB to point to your wintab development tree
# Example: WINTAB=c:\wintab
WINTAB=..\..\..
!include "$(OS)$(ENV).MAK"
cinclude=-I$(srcdir) -I$(WINTAB)\include
proj = RULE2
all: $(proj).exe
# force a complete rebuild from source.
cleanall: clean
-del *.exe
#clean up everything but the .EXEs.
clean:
-del *.res
-del *.?bj
-del *.map
# Update the resource if necessary
$(proj).res: $(srcdir)\$(proj).rc $(srcdir)\$(proj).dlg $(srcdir)\$(proj).h
$(rc) $(cinclude) $(rcvars) -r -fo $(proj).res $(cvars) $(srcdir)\$(proj).rc
!IF defined(CPU)
cvtres -$(CPU) $(proj).res -o $(proj).rbj
!ENDIF
# Update the object file if necessary
$(proj).obj: $(srcdir)\$(proj).c $(srcdir)\$(proj).h
$(cc) $(cflags) $(cinclude) $(cvars) $(cdebug) $(srcdir)\$(proj).c
# Since the link line has some severe differences depending on what
# platform we are running on, we need to special case this so that
# we execute the correct commands:
$(proj).exe: $(proj).obj $(proj).res $(proj).def
!if defined(CPU)
# This is for Windows NT:
$(link) $(linkdebug) $(guiflags) $(proj).obj $(WINTAB)\lib\$(CPU)\wintab32.lib $(guilibs) VERSION.LIB $(proj).rbj -out:$(proj).exe
!ENDIF
!if !defined(CPU)
# This is for Windows DOS:
$(link) $(guiflags) $(proj).obj ,,, $(WINTAB)\lib\wintab.lib $(guilibs) , $(proj).DEF
rc $(proj).res
!ENDIF

View File

@@ -0,0 +1,414 @@
# =========================================================================
# NTWIN32.MAK - Win32 application master NMAKE definitions file for the
# Microsoft Win32 SDK for Windows NT programming samples
# -------------------------------------------------------------------------
# This files should be included at the top of all MAKEFILEs as follows:
# !include <ntwin32.mak>
# -------------------------------------------------------------------------
# NMAKE Options
#
# Use the table below to determine the additional options for NMAKE to
# generate various application debugging, profiling and performance tuning
# information.
#
# Application Information Type Invoke NMAKE
# ---------------------------- ------------
# For No Debugging Info nmake nodebug=1
# For Working Set Tuner Info nmake tune=1
# For Call Attributed Profiling Info nmake profile=1
#
# Note: Working Set Tuner and Call Attributed Profiling is for available
# for the Intel x86 and Pentium systems.
#
# Note: The three options above are mutually exclusive (you may use only
# one to compile/link the application).
#
# Note: creating the environment variables NODEBUG, TUNE, and PROFILE is an
# alternate method to setting these options via the nmake command line.
#
# Additional NMAKE Options Invoke NMAKE
# ---------------------------- ------------
# For No ANSI NULL Compliance nmake no_ansi=1
# (ANSI NULL is defined as PVOID 0)
#
# =========================================================================
# REVISIONS
# RICO 1/26/95 - changed -Zi to -Z7 for use with VC++ 2.0.
# RICO 6/16/97 - changed -Ox to -O1 to avoid VC++ 4.x optimizer bug.
# =========================================================================
# -------------------------------------------------------------------------
# Get CPU Type - exit if CPU environment variable is not defined
# -------------------------------------------------------------------------
!IF "$(CPU)" == ""
CPU = $(PROCESSOR_ARCHITECTURE)
!ENDIF
!IF "$(CPU)" != "i386"
!IF "$(CPU)" != "MIPS"
!IF "$(CPU)" != "ALPHA"
!IF "$(CPU)" != "PPC"
!ERROR Must specify CPU environment variable ( CPU=i386, CPU=MIPS, CPU=ALPHA, CPU=PPC)
!ENDIF
!ENDIF
!ENDIF
!ENDIF
# -------------------------------------------------------------------------
# Platform Dependent Binaries Declarations
#
# If you are using the old MIPS compiler then define the following:
# cc = cc
# cvtobj = mip2coff
# -------------------------------------------------------------------------
# binary declarations for use on Intel i386, i486, and Pentium systems
!IF "$(CPU)" == "i386"
cc = cl
# for compatibility with older-style makefiles
cvtobj = REM !!! CVTOBJ is no longer necessary - please remove !!!
!ENDIF
# binary declarations for use on self hosted MIPS R4x000 systems
!IF "$(CPU)" == "MIPS"
cc = mcl
# for compatibility with older-style makefiles
cvtobj = REM !!! CVTOBJ is no longer necessary - please remove !!!
!ENDIF
# binary declarations for use on self hosted Digital Alpha AXP systems
!IF "$(CPU)" == "ALPHA"
cc = cl
# for compatibility with older-style makefiles
cvtobj = REM !!! CVTOBJ is no longer necessary - please remove !!!
!ENDIF
# binary declarations common to all platforms
link = link
implib = lib
rc = rc
cvtres = cvtres
hc = hc
# -------------------------------------------------------------------------
# Platform Dependent Compile Flags - must be specified after $(cc)
#
# Note: Debug switches are on by default for current release
#
# These switches allow for source level debugging with WinDebug for local
# and global variables.
#
# Both compilers now use the same front end - you must still define either
# _X86_, _MIPS_, or _ALPHA_. These have replaced the i386, MIPS, and ALPHA
# definitions which are not ANSI compliant.
#
# Common compiler flags:
# -c - compile without linking
# -W3 - Set warning level to level 3
# -Zi - generate debugging information
# -Od - disable all optimizations
# -O1 - optimize for minimum size
# -Zd - generate only public symbols and line numbers for debugging
#
# i386 specific compiler flags:
# -Gz - stdcall
#
# MS MIPS specific compiler flags:
# none.
#
# *** OLD MIPS ONLY ***
#
# The following definitions are for the old MIPS compiler:
#
# OLD MIPS compiler flags:
# -c - compile without linking
# -std - produce warnings for non-ANSI standard source code
# -g2 - produce a symbol table for debugging
# -O - invoke the global optimizer
# -EL - produce object modules targeted for
# "little-endian" byte ordering
#
# If you are using the old MIPS compiler then define the following:
#
# # OLD MIPS Complile Flags
# !IF 0
# !IF "$(CPU)" == "MIPS"
# cflags = -c -std -o $(*B).obj -EL -DMIPS=1 -D_MIPS_=1
# !IF defined(NODEBUG)
# cdebug =
# !ELSE
# cdebug = -g2
# !ENDIF
# !ENDIF
# !ENDIF
#
# -------------------------------------------------------------------------
# declarations common to all compiler options
cinclude = -I$(WDEV)\include
ccommon = $(cinclude) -c -W3 -D_CRTAPI1=__cdecl -D_CRTAPI2=__cdecl -Dtry=__try -Dleave=__leave -Dexcept=__except -Dfinally=__finally
!IF "$(CPU)" == "i386"
cflags = $(ccommon) -D_X86_=1
scall = -Gz
!ELSE
!IF "$(CPU)" == "MIPS"
cflags = $(ccommon) -D_MIPS_=1
!ELSE
!IF "$(CPU)" == "PPC"
cflags = $(ccommon) -D_PPC_=1
!ELSE
!IF "$(CPU)" == "ALPHA"
cflags = $(ccommon) -D_ALPHA_=1
!ENDIF
!ENDIF
!ENDIF
scall =
!ENDIF
!IF "$(CPU)" == "i386"
!IF defined(NODEBUG)
cdebug = -O1
!ELSE
!IF defined(PROFILE)
cdebug = -Gh -Zd -O1
!ELSE
!IF defined(TUNE)
cdebug = -Gh -Zd -O1
!ELSE
cdebug = -Z7 -Od
!ENDIF
!ENDIF
!ENDIF
!ELSE
!IF defined(NODEBUG)
cdebug = -O1
!ELSE
cdebug = -Z7 -Od
!ENDIF
!ENDIF
# -------------------------------------------------------------------------
# Target Module & Subsystem Dependent Compile Defined Variables - must be
# specified after $(cc)
#
# The following table indicates the various acceptable combinations of
# the C Run-Time libraries LIBC, LIBCMT, and CRTDLL respect to the creation
# of a EXE and/or DLL target object. The appropriate compiler flag macros
# that should be used for each combination are also listed.
#
# Link EXE Create Exe Link DLL Create DLL
# with Using with Using
# ----------------------------------------------------
# LIBC CVARS None None *
# LIBC CVARS LIBC CVARS
# LIBC CVARS LIBCMT CVARSMT
# LIBCMT CVARSMT None None *
# LIBCMT CVARSMT LIBC CVARS
# LIBCMT CVARSMT LIBCMT CVARSMT
# CRTDLL CVARSDLL None None *
# CRTDLL CVARSDLL LIBC CVARS
# CRTDLL CVARSDLL LIBCMT CVARSMT
# CRTDLL CVARSDLL CRTDLL CVARSDLL *
#
# * - Denotes the Recommended Configuration
#
# When building single-threaded applications you can link your executable
# with either LIBC, LIBCMT, or CRTDLL, although LIBC will provide the best
# performance.
#
# When building multi-threaded applications, either LIBCMT or CRTDLL can
# be used as the C-Runtime library, as both are multi-thread safe.
#
# Note: Any executable which accesses a DLL linked with CRTDLL.LIB must
# also link with CRTDLL.LIB instead of LIBC.LIB or LIBCMT.LIB.
# When using DLLs, it is recommended that all of the modules be
# linked with CRTDLL.LIB.
#
# Note: The macros of the form xDLL are used when linking the object with
# the DLL version of the C Run-Time (that is, CRTDLL.LIB). They are
# not used when the target object is itself a DLL.
#
# -------------------------------------------------------------------------
!IF defined(NO_ANSI)
noansi = -DNULL=0
!ENDIF
# for Windows applications that use the C Run-Time libraries
cvars = -DWIN32 $(noansi)
cvarsmt = $(cvars) -D_MT
cvarsdll = $(cvarsmt) -D_DLL
# for compatibility with older-style makefiles
cvarsmtdll = $(cvarsmt) -D_DLL
# for POSIX applications
psxvars = -D_POSIX_
# resource compiler
rcvars = -DWIN32 $(noansi)
# -------------------------------------------------------------------------
# Platform Dependent Link Flags - must be specified after $(link)
#
# Note: $(DLLENTRY) should be appended to each -entry: flag on the link
# line.
#
# Note: When creating a DLL that uses C Run-Time functions it is
# recommended to include the entry point function of the name DllMain
# in the DLL's source code. Also, the MAKEFILE should include the
# -entry:_DllMainCRTStartup$(DLLENTRY) option for the creation of
# this DLL. (The C Run-Time entry point _DllMainCRTStartup in turn
# calls the DLL defined DllMain entry point.)
#
# -------------------------------------------------------------------------
# declarations common to all linker options
lcommon =
# declarations for use on Intel i386, i486, and Pentium systems
!IF "$(CPU)" == "i386"
DLLENTRY = @12
lflags = $(lcommon) -align:0x1000
!ENDIF
# declarations for use on self hosted MIPS R4x000 systems
!IF "$(CPU)" == "MIPS"
DLLENTRY =
lflags = $(lcommon)
!ENDIF
# declarations for use on self hosted PowerPC systems
!IF "$(CPU)" == "PPC"
DLLENTRY =
lflags = $(lcommon)
!ENDIF
# declarations for use on self hosted Digital Alpha AXP systems
!IF "$(CPU)" == "ALPHA"
DLLENTRY =
lflags = $(lcommon)
!ENDIF
# -------------------------------------------------------------------------
# Target Module Dependent Link Debug Flags - must be specified after $(link)
#
# These switches allow the inclusion of the necessary symbolic information
# for source level debugging with WinDebug, profiling and/or performance
# tuning.
#
# Note: Debug switches are on by default.
# -------------------------------------------------------------------------
!IF "$(CPU)" == "i386"
!IF defined(NODEBUG)
ldebug =
!ELSE
!IF defined(PROFILE)
ldebug = -debug:partial -debugtype:coff
!ELSE
!IF defined(TUNE)
ldebug = -debug:partial -debugtype:coff
!ELSE
ldebug = -debug:full -debugtype:both
!ENDIF
!ENDIF
!ENDIF
!ELSE
!IF defined(NODEBUG)
ldebug =
!ELSE
ldebug = -debug:full -debugtype:both
!ENDIF
!ENDIF
# for compatibility with older-style makefiles
linkdebug = $(ldebug)
# -------------------------------------------------------------------------
# Subsystem Dependent Link Flags - must be specified after $(link)
#
# These switches allow for source level debugging with WinDebug for local
# and global variables. They also provide the standard application type and
# entry point declarations.
# -------------------------------------------------------------------------
# for Windows applications that use the C Run-Time libraries
conlflags = $(lflags) -subsystem:console -entry:mainCRTStartup
guilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartup
# for POSIX applications
psxlflags = $(lflags) -subsystem:posix -entry:__PosixProcessStartup
# for compatibility with older-style makefiles
conflags = $(conlflags)
guiflags = $(guilflags)
psxflags = $(psxlflags)
# -------------------------------------------------------------------------
# C Run-Time Target Module Dependent Link Libraries
#
# Below is a table which describes which libraries to use depending on the
# target module type, although the table specifically refers to Graphical
# User Interface apps, the exact same dependencies apply to Console apps.
# That is, you could replace all occurrences of 'GUI' with 'CON' in the
# following:
#
# Desired CRT Libraries Desired CRT Libraries
# Library to link Library to link
# for EXE with EXE for DLL with DLL
# ----------------------------------------------------
# LIBC GUILIBS None None *
# LIBC GUILIBS LIBC GUILIBS
# LIBC GUILIBS LIBCMT GUILIBSMT
# LIBCMT GUILIBSMT None None *
# LIBCMT GUILIBSMT LIBC GUILIBS
# LIBCMT GUILIBSMT LIBCMT GUILIBSMT
# CRTDLL GUILIBSDLL None None *
# CRTDLL GUILIBSDLL LIBC GUILIBS
# CRTDLL GUILIBSDLL LIBCMT GUILIBSMT
# CRTDLL GUILIBSDLL CRTDLL GUILIBSDLL *
#
# * - Recommended Configurations.
#
# Note: Any executable which accesses a DLL linked with CRTDLL.LIB must
# also link with CRTDLL.LIB instead of LIBC.LIB or LIBCMT.LIB.
#
# Note: For POSIX applications, link with $(psxlibs).
#
# -------------------------------------------------------------------------
# optional profiling and tuning libraries
!IF "$(CPU)" == "i386"
!IF defined(PROFILE)
optlibs = cap.lib
!ELSE
!IF defined(TUNE)
optlibs = wst.lib
!ELSE
optlibs =
!ENDIF
!ENDIF
!ELSE
optlibs =
!ENDIF
# basic subsystem specific libraries, less the C Run-Time
baselibs = kernel32.lib $(optlibs)
winlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.lib
# for Windows applications that use the C Run-Time libraries
conlibs = libc.lib $(baselibs)
conlibsmt = libcmt.lib $(baselibs)
conlibsdll = CRTDLL.lib $(baselibs)
guilibs = libc.lib $(winlibs)
guilibsmt = libcmt.lib $(winlibs)
guilibsdll = CRTDLL.lib $(winlibs)
# for POSIX applications
psxlibs = libcpsx.lib psxdll.lib psxrtl.lib
srcdir = ..

View File

@@ -0,0 +1,14 @@
; Module name: Rule2.DEF
NAME Rule2
DESCRIPTION 'Rule2: WinTab Measuring Application'
STUB 'WinStub.exe'
EXETYPE WINDOWS
CODE MOVEABLE DISCARDABLE PRELOAD
DATA MOVEABLE MULTIPLE PRELOAD
HEAPSIZE 1024
STACKSIZE 4096
EXPORTS
RuleAppWndProc


View File

@@ -0,0 +1,16 @@
# If no CPUTYPE variable is defined, then we are running on a DOS system
# so lets whack in some flags and switches to match the NTWIN32.MAK
# settings:
srcdir=..
model=S
rc=rc
hcopts = -n
cc = cl
cdebug = -Zipel -Od
cflags = -c -A$(model) -Gsw -W3 $(cdebug) -DUSE_X_LIB
cvars = -D$(ENV)
linkdebug =
link = link $(linkdebug)
guiflags = /NOE /NOD /CO /align:16
guilibs = libw $(model)libcew ver commdlg
guilibsdll = libw $(model)dllcew ver commdlg

View File

@@ -0,0 +1,58 @@
!IF "$(CPU)" != ""
OS=NT
ENV=WIN32
!ELSE
OS=DOS
ENV=WIN16
!ENDIF
# Environment variables LIB and INCLUDE should point to your Win SDK libraries
# and include files.
# Define WINTAB to point to your wintab development tree
# Example: WINTAB=c:\wintab
WINTAB=..\..\..
!include "$(OS)$(ENV).MAK"
cinclude=-I$(srcdir) -I$(WINTAB)\include
proj = RULE2
all: $(proj).exe
# force a complete rebuild from source.
cleanall: clean
-del *.exe
#clean up everything but the .EXEs.
clean:
-del *.res
-del *.?bj
-del *.map
# Update the resource if necessary
$(proj).res: $(srcdir)\$(proj).rc $(srcdir)\$(proj).dlg $(srcdir)\$(proj).h
$(rc) $(cinclude) $(rcvars) -r -fo $(proj).res $(cvars) $(srcdir)\$(proj).rc
!IF defined(CPUTYPE)
cvtres -$(CPU) $(proj).res -o $(proj).rbj
!ENDIF
# Update the object file if necessary
$(proj).obj: $(srcdir)\$(proj).c $(srcdir)\$(proj).h
$(cc) $(cflags) $(cinclude) $(cvars) $(cdebug) $(srcdir)\$(proj).c
# Since the link line has some severe differences depending on what
# platform we are running on, we need to special case this so that
# we execute the correct commands:
$(proj).exe: $(proj).obj $(proj).res $(proj).def
!if defined(CPUTYPE)
# This is for Windows NT:
$(link) $(linkdebug) $(guiflags) $(proj).obj $(WINTAB)\lib\$(CPU)\wintab32.lib $(guilibs) VERSION.LIB $(proj).rbj -out:$(proj).exe
!ENDIF
!if !defined(CPUTYPE)
# This is for Windows DOS:
$(link) $(guiflags) $(proj).obj ,,, $(WINTAB)\lib\wintabx.lib $(guilibs) , $(proj).DEF
rc $(proj).res
!ENDIF

View File

@@ -0,0 +1,14 @@
; Module name: Rule2.DEF
NAME Rule2
DESCRIPTION 'Rule2: WinTab Measuring Application'
STUB 'WinStub.exe'
EXETYPE WINDOWS
CODE MOVEABLE DISCARDABLE PRELOAD
DATA MOVEABLE MULTIPLE PRELOAD
HEAPSIZE 1024
STACKSIZE 4096
EXPORTS
RuleAppWndProc


View File

@@ -0,0 +1,51 @@
RULE2
Start Length Name Class
0001:0000 01486H _TEXT CODE
0002:0000 00010H NULL BEGDATA
0002:0010 000F0H _DATA DATA
0002:0100 0000EH CDATA DATA
0002:010E 00000H XIFB DATA
0002:010E 00000H XIF DATA
0002:010E 00000H XIFE DATA
0002:010E 00000H XIB DATA
0002:010E 00000H XI DATA
0002:010E 00000H XIE DATA
0002:010E 00000H XPB DATA
0002:010E 00000H XP DATA
0002:010E 00000H XPE DATA
0002:010E 00000H XCB DATA
0002:010E 00000H XC DATA
0002:010E 00000H XCE DATA
0002:010E 00000H XCFB DATA
0002:010E 00000H XCFCRT DATA
0002:010E 00000H XCF DATA
0002:010E 00000H XCFE DATA
0002:010E 00000H XIFCB DATA
0002:010E 00000H XIFU DATA
0002:010E 00000H XIFL DATA
0002:010E 00000H XIFM DATA
0002:010E 00000H XIFCE DATA
0002:010E 00000H DBDATA DATA
0002:010E 00000H CONST CONST
0002:010E 00008H HDR MSG
0002:0116 00146H MSG MSG
0002:025C 00002H PAD MSG
0002:025E 00001H EPAD MSG
0002:0260 0000CH _BSS BSS
0002:026C 00000H XOB BSS
0002:026C 00000H XO BSS
0002:026C 00000H XOE BSS
0002:026C 00000H XOFB BSS
0002:026C 00000H XOF BSS
0002:026C 00000H XOFE BSS
Origin Group
0002:0 DGROUP
Address Export Alias
0001:05BE RuleAppWndProc RuleAppWndProc
Program entry point at 0001:0bec

View File

@@ -0,0 +1,114 @@
# Microsoft Developer Studio Project File - Name="rule2" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=rule2 - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "rule2.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "rule2.mak" CFG="rule2 - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "rule2 - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "rule2 - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "rule2 - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 ..\..\..\lib\i386\wintab32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 ..\..\..\lib\I386\wintab32.lib ..\..\..\lib\i386\wintab32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "rule2 - Win32 Release"
# Name "rule2 - Win32 Debug"
# Begin Source File
SOURCE=..\Msgpack.h
# End Source File
# Begin Source File
SOURCE=..\Rule2.c
# End Source File
# Begin Source File
SOURCE=..\Rule2.dlg
# End Source File
# Begin Source File
SOURCE=..\Rule2.h
# End Source File
# Begin Source File
SOURCE=..\Rule2.ico
# End Source File
# Begin Source File
SOURCE=..\Rule2.rc
# End Source File
# End Target
# End Project

View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 5.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "rule2"=.\rule2.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -0,0 +1,266 @@
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
!IF "$(CFG)" == ""
CFG=rule2 - Win32 Debug
!MESSAGE No configuration specified. Defaulting to rule2 - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "rule2 - Win32 Release" && "$(CFG)" != "rule2 - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "rule2.mak" CFG="rule2 - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "rule2 - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "rule2 - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
# PROP Target_Last_Scanned "rule2 - Win32 Debug"
CPP=cl.exe
RSC=rc.exe
MTL=mktyplib.exe
!IF "$(CFG)" == "rule2 - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\rule2.exe"
CLEAN :
-@erase "$(INTDIR)\Rule2.obj"
-@erase "$(INTDIR)\Rule2.res"
-@erase "$(OUTDIR)\rule2.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /W3 /GX /O2 /I "..\..\..\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "..\..\..\Include" /D "WIN32" /D "NDEBUG"\
/D "_WINDOWS" /Fp"$(INTDIR)/rule2.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
# ADD BASE MTL /nologo /D "NDEBUG" /win32
# ADD MTL /nologo /D "NDEBUG" /win32
MTL_PROJ=/nologo /D "NDEBUG" /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)/Rule2.res" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/rule2.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\lib\I386\wintab32.lib /nologo /subsystem:windows /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib ..\..\..\lib\I386\wintab32.lib /nologo /subsystem:windows\
/incremental:no /pdb:"$(OUTDIR)/rule2.pdb" /machine:I386\
/out:"$(OUTDIR)/rule2.exe"
LINK32_OBJS= \
"$(INTDIR)\Rule2.obj" \
"$(INTDIR)\Rule2.res"
"$(OUTDIR)\rule2.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "rule2___"
# PROP BASE Intermediate_Dir "rule2___"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "rule2___"
# PROP Intermediate_Dir "rule2___"
# PROP Target_Dir ""
OUTDIR=.\rule2___
INTDIR=.\rule2___
ALL : "$(OUTDIR)\rule2.exe"
CLEAN :
-@erase "$(INTDIR)\Rule2.obj"
-@erase "$(INTDIR)\Rule2.res"
-@erase "$(INTDIR)\vc40.idb"
-@erase "$(INTDIR)\vc40.pdb"
-@erase "$(OUTDIR)\rule2.exe"
-@erase "$(OUTDIR)\rule2.ilk"
-@erase "$(OUTDIR)\rule2.pdb"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\..\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /I "..\..\..\Include" /D "WIN32" /D\
"_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/rule2.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\rule2___/
CPP_SBRS=.\.
# ADD BASE MTL /nologo /D "_DEBUG" /win32
# ADD MTL /nologo /D "_DEBUG" /win32
MTL_PROJ=/nologo /D "_DEBUG" /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)/Rule2.res" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/rule2.bsc"
BSC32_SBRS= \
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\lib\I386\wintab32.lib /nologo /subsystem:windows /debug /machine:I386
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
odbccp32.lib ..\..\..\lib\I386\wintab32.lib /nologo /subsystem:windows\
/incremental:yes /pdb:"$(OUTDIR)/rule2.pdb" /debug /machine:I386\
/out:"$(OUTDIR)/rule2.exe"
LINK32_OBJS= \
"$(INTDIR)\Rule2.obj" \
"$(INTDIR)\Rule2.res"
"$(OUTDIR)\rule2.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Target
# Name "rule2 - Win32 Release"
# Name "rule2 - Win32 Debug"
!IF "$(CFG)" == "rule2 - Win32 Release"
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=\wtkit125\Examples\Rule2\Rule2.rc
DEP_RSC_RULE2=\
"..\rule2.dlg"\
"..\Rule2.h"\
"..\Rule2.ico"\
!IF "$(CFG)" == "rule2 - Win32 Release"
"$(INTDIR)\Rule2.res" : $(SOURCE) $(DEP_RSC_RULE2) "$(INTDIR)"
$(RSC) /l 0x409 /fo"$(INTDIR)/Rule2.res" /i "\wtkit125\Examples\Rule2" /d\
"NDEBUG" $(SOURCE)
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
"$(INTDIR)\Rule2.res" : $(SOURCE) $(DEP_RSC_RULE2) "$(INTDIR)"
$(RSC) /l 0x409 /fo"$(INTDIR)/Rule2.res" /i "\wtkit125\Examples\Rule2" /d\
"_DEBUG" $(SOURCE)
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=\wtkit125\Examples\Rule2\Rule2.c
DEP_CPP_RULE2_=\
"..\..\..\Include\pktdef.h"\
"..\..\..\Include\wintab.h"\
"..\Msgpack.h"\
"..\Rule2.h"\
"$(INTDIR)\Rule2.obj" : $(SOURCE) $(DEP_CPP_RULE2_) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=\wtkit125\Examples\Rule2\Rule2.h
!IF "$(CFG)" == "rule2 - Win32 Release"
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=\wtkit125\Examples\Rule2\Msgpack.h
!IF "$(CFG)" == "rule2 - Win32 Release"
!ELSEIF "$(CFG)" == "rule2 - Win32 Debug"
!ENDIF
# End Source File
# End Target
# End Project
################################################################################

Binary file not shown.