Commit 8d5ace30 authored by Alexandre Julliard's avatar Alexandre Julliard

Build test programs as .so files. Added missing imports.

parent 591832ec
DEFS = -DWINELIB -DSTRICT
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = none
PROGRAMS = expand hello hello2 hello3 hello4 hello5 new rolex vartest volinfo
DEFS = @DLLFLAGS@ -DSTRICT
LDDLLFLAGS = @LDDLLFLAGS@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = none
PROGRAMS = expand hello hello2 hello3 hello4 hello5 new rolex vartest volinfo
ALL_LIBS = -L$(TOPOBJDIR) -lwine $(LIBS)
C_SRCS = \
expand.c \
hello.c \
hello2.c \
hello3.c \
hello4.c \
hello5.c \
new.c \
rolex.c \
vartest.c \
volinfo.c
SPEC_SRCS = \
expand.spec \
......@@ -21,40 +35,66 @@ SPEC_SRCS = \
RC_SRCS = \
hello3res.rc
all: $(PROGRAMS)
all: $(PROGRAMS) $(PROGRAMS:%=%.so)
@MAKE_RULES@
expand: expand.o expand.spec.o
$(CC) -o expand $+ -L$(DLLDIR) -llz32 -lntdll $(DLL_LINK) $(LIBS)
hello: hello.o hello.spec.o
$(CC) -o hello $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS)
hello2: hello2.o hello2.spec.o
$(CC) -o hello2 $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS)
hello3: hello3.o hello3.spec.o
$(CC) -o hello3 $+ -L$(DLLDIR) -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -lkernel32 -lole32 -lrpcrt4 -lshell32 -lshlwapi -luser32 -lwinspool.drv -lntdll $(DLL_LINK) $(LIBS)
hello3.spec.c: hello3res.res
hello4: hello4.o hello4.spec.o
$(CC) -o hello4 $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS)
hello5: hello5.o hello5.spec.o
$(CC) -o hello5 $+ -L$(DLLDIR) -lntdll $(DLL_LINK) $(LIBS)
new: new.o new.spec.o
$(CC) -o new $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS)
rolex: rolex.o rolex.spec.o
$(CC) -o rolex $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS)
vartest: vartest.o vartest.spec.o
$(CC) -o vartest $+ -L$(DLLDIR) -ladvapi32 -lcomctl32 -lgdi32 -lkernel32 -lole32 -loleaut32 -lrpcrt4 -luser32 -lntdll $(DLL_LINK) $(LIBS)
volinfo: volinfo.o volinfo.spec.o
$(CC) -o volinfo $+ -L$(DLLDIR) -lntdll $(DLL_LINK) $(LIBS)
expand.spec.c: expand.spec expand.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym expand.o -o expand.spec.c -spec expand.spec
expand.so: expand.o expand.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o expand.so $+ $(ALL_LIBS)
hello.spec.c: hello.spec hello.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello.o -o hello.spec.c -spec hello.spec
hello.so: hello.o hello.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o hello.so $+ $(ALL_LIBS)
hello2.spec.c: hello2.spec hello2.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello2.o -o hello2.spec.c -spec hello2.spec
hello2.so: hello2.o hello2.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o hello2.so $+ $(ALL_LIBS)
hello3.spec.c: hello3.spec hello3.o hello3res.res $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello3.o -o hello3.spec.c -spec hello3.spec
hello3.so: hello3.o hello3.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o hello3.so $+ $(ALL_LIBS)
hello4.spec.c: hello4.spec hello4.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello4.o -o hello4.spec.c -spec hello4.spec
hello4.so: hello4.o hello4.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o hello4.so $+ $(ALL_LIBS)
hello5.spec.c: hello5.spec hello5.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello5.o -o hello5.spec.c -spec hello5.spec
hello5.so: hello5.o hello5.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o hello5.so $+ $(ALL_LIBS)
new.spec.c: new.spec new.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym new.o -o new.spec.c -spec new.spec
new.so: new.o new.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o new.so $+ $(ALL_LIBS)
rolex.spec.c: rolex.spec rolex.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym rolex.o -o rolex.spec.c -spec rolex.spec
rolex.so: rolex.o rolex.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o rolex.so $+ $(ALL_LIBS)
vartest.spec.c: vartest.spec vartest.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym vartest.o -o vartest.spec.c -spec vartest.spec
vartest.so: vartest.o vartest.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o vartest.so $+ $(ALL_LIBS)
volinfo.spec.c: volinfo.spec volinfo.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym volinfo.o -o volinfo.spec.c -spec volinfo.spec
volinfo.so: volinfo.o volinfo.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o volinfo.so $+ $(ALL_LIBS)
$(PROGRAMS):
$(LN_S) $(TOPOBJDIR)/wine $@
$(PROGRAMS:%=%.so/_checklink_): $(PROGRAMS:%=%.so)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c `dirname $@` $(ALL_LIBS) && $(RM) checklink
checklink:: $(PROGRAMS:%=%.so/_checklink_)
### Dependencies:
name expand
mode guiexe
type win32
init WinMain
import lz32.dll
import kernel32.dll
import ntdll.dll
name hello
mode guiexe
type win32
init WinMain
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
name hello2
mode guiexe
type win32
init WinMain
import user32.dll
import kernel32.dll
import ntdll.dll
name hello3
mode guiexe
type win32
init WinMain
rsrc hello3res.res
import comdlg32.dll
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
......@@ -4,7 +4,7 @@
/* even in MS Visual C++ */
#include "windef.h"
#include "wingdi.h"
#include <wine/winuser16.h>
/*#include <wine/winuser16.h>*/
void Write (HDC dc, int x, int y, char *s)
{
......@@ -86,7 +86,7 @@ LRESULT CALLBACK WndProc2 (HWND wnd, UINT msg, WPARAM w, LPARAM l)
case WM_MOVE:
case WM_SIZE:
InvalidateRect( wnd, &rectInfo, TRUE );
CalcChildScroll16( (UINT16)GetParent(wnd), SB_BOTH );
/*CalcChildScroll16( (UINT16)GetParent(wnd), SB_BOTH );*/
break;
case WM_DESTROY:
......
name hello4
mode guiexe
type win32
init WinMain
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
name hello5
mode guiexe
type win32
init WinMain
import kernel32.dll
import ntdll.dll
name new
mode guiexe
type win32
init WinMain
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
name rolex
mode guiexe
type win32
init WinMain
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
......@@ -56,49 +56,27 @@
#include <windef.h>
#ifdef __unix__
#include <debugtools.h>
extern LPWSTR HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str );
#endif
#define MAX_BUFFER 1024
static const int MAX_BUFFER = 1024;
#ifndef __unix__
char* WtoA( OLECHAR* p )
{
int i = 0;
char* pc = (char *)malloc( MAX_BUFFER*sizeof(char) );
pc[0] = '\"';
pc++;
i = wcstombs( pc, p, MAX_BUFFER );
if( i < MAX_BUFFER-1 )
{
pc[i] = '\"';
pc[i+1] = '\0';
}
pc--;
return pc;
static char buffer[MAX_BUFFER];
DWORD len = WideCharToMultiByte( CP_ACP, 0, p, -1, buffer+1, sizeof(buffer)-3, NULL, NULL );
buffer[0] = '\"';
buffer[len] = '\"';
buffer[len+1] = 0;
return buffer;
}
OLECHAR* AtoW( char* p )
{
int i = 0;
OLECHAR* pwc = (OLECHAR *)malloc( MAX_BUFFER*sizeof(OLECHAR) );
i = mbstowcs( pwc, p, MAX_BUFFER );
return pwc;
}
#else
char* WtoA( OLECHAR* p )
{
return debugstr_wn( p, MAX_BUFFER );
}
OLECHAR* AtoW( char* p )
{
return HEAP_strdupAtoW( GetProcessHeap(), 0, p );
OLECHAR *buffer;
DWORD len = MultiByteToWideChar( CP_ACP, 0, p, -1, NULL, 0 );
buffer = malloc( len * sizeof(OLECHAR) );
MultiByteToWideChar( CP_ACP, 0, p, -1, buffer, len );
return buffer;
}
#endif
int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
......
name vartest
mode guiexe
type win32
init WinMain
import oleaut32.dll
import kernel32.dll
import ntdll.dll
name volinfo
mode guiexe
type win32
init WinMain
import kernel32.dll
import ntdll.dll
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment