Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2006-12-05 16:26:36 -0500
committerAndrew Niefer2006-12-05 16:26:36 -0500
commit234f2e8893c4de279f7ebc545b01e249d05335f3 (patch)
tree9935ce83a3b4cdbce8e474bc099812b3438191bf
parentb81e790bb86ed535c1a7078193949aa6ebddb68f (diff)
downloadrt.equinox.framework-234f2e8893c4de279f7ebc545b01e249d05335f3.tar.gz
rt.equinox.framework-234f2e8893c4de279f7ebc545b01e249d05335f3.tar.xz
rt.equinox.framework-234f2e8893c4de279f7ebc545b01e249d05335f3.zip
port to compile using MSVCNATIVE_LAUNCHER
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/eclipse.c17
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/eclipseCommon.c23
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/eclipseCommon.h14
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/eclipseJNI.c48
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/eclipseMain.c3
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/win32/build.bat25
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/win32/eclipseWin.c23
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/win32/eclipseWinCommon.c9
-rw-r--r--bundles/org.eclipse.equinox.launcher/library/win32/make_win32.mak26
9 files changed, 125 insertions, 63 deletions
diff --git a/bundles/org.eclipse.equinox.launcher/library/eclipse.c b/bundles/org.eclipse.equinox.launcher/library/eclipse.c
index 0c6783ff7..24ec891a3 100644
--- a/bundles/org.eclipse.equinox.launcher/library/eclipse.c
+++ b/bundles/org.eclipse.equinox.launcher/library/eclipse.c
@@ -198,7 +198,6 @@
#include <sys/stat.h>
#include <errno.h>
#include <ctype.h>
-#include <dirent.h>
#define MAX_PATH_LENGTH 2000
#define MAX_SHARED_LENGTH (16 * 1024)
@@ -311,14 +310,14 @@ static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand );
/* Record the arguments that were used to start the original executable */
-void setInitialArgs(int argc, _TCHAR** argv) {
+JNIEXPORT void setInitialArgs(int argc, _TCHAR** argv) {
initialArgc = argc;
initialArgv = argv;
}
/* this method must match the RunMethod typedef in eclipseMain.c */
/* vmArgs must be NULL terminated */
-int run(int argc, _TCHAR* argv[], _TCHAR* vmArgs[])
+JNIEXPORT int run(int argc, _TCHAR* argv[], _TCHAR* vmArgs[])
{
_TCHAR* shippedVM = NULL;
_TCHAR* vmSearchPath = NULL;
@@ -798,6 +797,7 @@ static _TCHAR* findStartupJar(){
_TCHAR * file;
_TCHAR * pluginsPath;
struct _stat stats;
+ int pathLength;
if( startupArg != NULL ) {
/* startup jar was specified on the command line */
@@ -825,7 +825,7 @@ static _TCHAR* findStartupJar(){
return file;
}
- int pathLength = _tcslen(programDir);
+ pathLength = _tcslen(programDir);
#ifdef MACOSX
pathLength += 9;
#endif
@@ -857,8 +857,11 @@ static _TCHAR* findStartupJar(){
*/
static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand )
{
- if (vmCommand == NULL) return NULL;
int i = -1, req = 0, begin = -1;
+ int idx = 0;
+ _TCHAR ** relaunch;
+
+ if (vmCommand == NULL) return NULL;
while(vmCommand[++i] != NULL){
if ( begin == -1 && _tcsicmp( vmCommand[i], *reqVMarg[req] ) == 0) {
if(reqVMarg[++req] == NULL){
@@ -867,10 +870,8 @@ static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand )
}
}
- _TCHAR ** relaunch = malloc((i + 1) * sizeof(_TCHAR *));
- int idx = 0;
+ relaunch = malloc((i + 1) * sizeof(_TCHAR *));
for (i = begin; vmCommand[i] != NULL; i++){
-
if (_tcsicmp(vmCommand[i], SHOWSPLASH) == 0) {
/* remove if the next argument is not the bitmap to show */
if(vmCommand[i + 1] != NULL && vmCommand[i + 1][0] == _T_ECLIPSE('-')) {
diff --git a/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.c b/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.c
index fe35a26bf..cde658660 100644
--- a/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.c
+++ b/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.c
@@ -19,18 +19,39 @@
#else
#include <unistd.h>
#include <strings.h>
+#include <dirent.h>
#endif
#include <stdlib.h>
-#include <dirent.h>
#include <sys/stat.h>
/* Global Variables */
_TCHAR* officialName = NULL;
/* Local Variables */
+#ifndef _WIN32
static _TCHAR* filterPrefix = NULL; /* prefix for the find files filter */
static int prefixLength = 0;
+#endif
+
+/**
+ * Convert a wide string to a narrow one
+ * Caller must free the null terminated string returned.
+ */
+char *toNarrow(_TCHAR* src)
+{
+#ifdef UNICODE
+ int byteCount = WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, NULL, 0, NULL, NULL);
+ char *dest = malloc(byteCount+1);
+ dest[byteCount] = 0;
+ WideCharToMultiByte (CP_UTF8, 0, (wchar_t *)src, -1, dest, byteCount, NULL, NULL);
+ return dest;
+#else
+ return _tcsdup(src);
+#endif
+}
+
+
/*
* Find the absolute pathname to where a command resides.
*
diff --git a/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.h b/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.h
index ae52302f5..ddae32a4a 100644
--- a/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.h
+++ b/bundles/org.eclipse.equinox.launcher/library/eclipseCommon.h
@@ -18,7 +18,6 @@
/* Variables and Methods that will be needed by both the executable and the library */
#define MAX_PATH_LENGTH 2000
-#define STR(s) # s
#ifdef UNICODE
#define pathSeparator pathSeparatorW
@@ -34,15 +33,24 @@
#define findSymbol findSymbolW
#define run runW
#define setInitialArgs setInitialArgsW
+#define toNarrow toNarrowW
#endif
-#define RUN_METHOD _T_ECLIPSE(STR(run))
-#define SET_INITIAL_ARGS _T_ECLIPSE(STR(setInitialArgs))
+#ifdef UNICODE
+#define RUN_METHOD _T_ECLIPSE("runW")
+#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgsW")
+#else
+#define RUN_METHOD _T_ECLIPSE("run")
+#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgs")
+#endif
extern _TCHAR dirSeparator; /* '/' or '\\' */
extern _TCHAR pathSeparator; /* separator used in PATH variable */
extern _TCHAR* officialName; /* Program official name */
+
+extern char *toNarrow(_TCHAR* src);
+
/*
* Find the absolute pathname to where a command resides.
*
diff --git a/bundles/org.eclipse.equinox.launcher/library/eclipseJNI.c b/bundles/org.eclipse.equinox.launcher/library/eclipseJNI.c
index 2b1636dae..9f7e55fe9 100644
--- a/bundles/org.eclipse.equinox.launcher/library/eclipseJNI.c
+++ b/bundles/org.eclipse.equinox.launcher/library/eclipseJNI.c
@@ -74,9 +74,9 @@ JNIEXPORT jlong JNICALL get_splash_handle(JNIEnv * env, jobject obj){
JNIEXPORT void JNICALL show_splash(JNIEnv * env, jobject obj, jstring s){
if(showSplashHook != NULL)
- return showSplashHook(env, s);
+ showSplashHook(env, s);
else
- return splash(env, s);
+ splash(env, s);
}
JNIEXPORT void JNICALL takedown_splash(JNIEnv * env, jobject obj){
@@ -149,37 +149,22 @@ static jstring newJavaString(JNIEnv *env, _TCHAR * str)
static jobjectArray createRunArgs( JNIEnv *env, _TCHAR * args[] ) {
int index = 0, length = -1;
+ jclass stringClass;
+ jobjectArray stringArray;
+ jstring string;
/*count the number of elements first*/
while(args[++length] != NULL);
- jclass stringClass = (*env)->FindClass(env, "java/lang/String");
- jobjectArray stringArray = (*env)->NewObjectArray(env, length, stringClass, 0);
+ stringClass = (*env)->FindClass(env, "java/lang/String");
+ stringArray = (*env)->NewObjectArray(env, length, stringClass, 0);
for( index = 0; index < length; index++) {
- jstring string = newJavaString(env, args[index]);
+ string = newJavaString(env, args[index]);
(*env)->SetObjectArrayElement(env, stringArray, index, string);
(*env)->DeleteLocalRef(env, string);
}
return stringArray;
}
-
-/**
- * Convert a wide string to a narrow one suitable for use in JNI.
- * Caller must free the null terminated string returned.
- */
-static char *toNarrow(_TCHAR* src)
-{
-#ifdef UNICODE
- int byteCount = WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, NULL, 0, NULL, NULL);
- char *dest = malloc(byteCount+1);
- dest[byteCount] = 0;
- WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, dest, byteCount, NULL, NULL);
- return dest;
-#else
- return _tcsdup(src);
-#endif
-}
-
int startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[] )
{
@@ -193,6 +178,13 @@ int startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[] )
JavaVM * jvm;
JNIEnv *env;
+ /* JNI reflection */
+ jclass mainClass = NULL; /* The Main class to load */
+ jmethodID mainConstructor = NULL; /* Main's default constructor Main() */
+ jobject mainObject = NULL; /* An instantiation of the main class */
+ jmethodID runMethod = NULL; /* Main.run(String[]) */
+ jobjectArray methodArgs = NULL; /* Arguments to pass to run */
+
jniLibrary = loadLibrary(libPath);
if(jniLibrary == NULL) {
return -1; /*error*/
@@ -225,13 +217,13 @@ int startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[] )
if( createJavaVM(&jvm, &env, &init_args) == 0 ) {
registerNatives(env);
- jclass mainClass = (*env)->FindClass(env, "org/eclipse/core/launcher/Main");
+ mainClass = (*env)->FindClass(env, "org/eclipse/core/launcher/Main");
if(mainClass != NULL) {
- jmethodID mainConstructor = (*env)->GetMethodID(env, mainClass, "<init>", "()V");
- jobject mainObject = (*env)->NewObject(env, mainClass, mainConstructor);
- jmethodID runMethod = (*env)->GetMethodID(env, mainClass, "run", "([Ljava/lang/String;)I");
+ mainConstructor = (*env)->GetMethodID(env, mainClass, "<init>", "()V");
+ mainObject = (*env)->NewObject(env, mainClass, mainConstructor);
+ runMethod = (*env)->GetMethodID(env, mainClass, "run", "([Ljava/lang/String;)I");
if(runMethod != NULL) {
- jobjectArray methodArgs = createRunArgs(env, progArgs);
+ methodArgs = createRunArgs(env, progArgs);
jvmExitCode = (*env)->CallIntMethod(env, mainObject, runMethod, methodArgs);
}
} else {
diff --git a/bundles/org.eclipse.equinox.launcher/library/eclipseMain.c b/bundles/org.eclipse.equinox.launcher/library/eclipseMain.c
index ac3d746ef..f1c42b690 100644
--- a/bundles/org.eclipse.equinox.launcher/library/eclipseMain.c
+++ b/bundles/org.eclipse.equinox.launcher/library/eclipseMain.c
@@ -237,9 +237,10 @@ static int createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR
*/
_TCHAR* getProgramDir(_TCHAR* program)
{
+ _TCHAR* ch;
+
if(programDir != NULL)
return programDir;
- _TCHAR* ch;
programDir = malloc( (_tcslen( program ) + 1) * sizeof(_TCHAR) );
_tcscpy( programDir, program );
diff --git a/bundles/org.eclipse.equinox.launcher/library/win32/build.bat b/bundles/org.eclipse.equinox.launcher/library/win32/build.bat
index 9f7371e5a..ea748c0c5 100644
--- a/bundles/org.eclipse.equinox.launcher/library/win32/build.bat
+++ b/bundles/org.eclipse.equinox.launcher/library/win32/build.bat
@@ -14,9 +14,11 @@
@rem
@rem where the optional switches are:
@rem -output <PROGRAM_OUTPUT> - executable filename ("eclipse")
+@rem -library <PROGRAM_LIBRARY>- dll filename (eclipse.dll)
@rem -os <DEFAULT_OS> - default Eclipse "-os" value (qnx)
@rem -arch <DEFAULT_OS_ARCH> - default Eclipse "-arch" value (x86)
-@rem -ws <DEFAULT_WS> - default Eclipse "-ws" value (photon)
+@rem -ws <DEFAULT_WS> - default Eclipse "-ws" value (photon)
+@rem -java <JAVA_HOME> - location of a Java SDK for JNI headers
@rem
@rem
@rem This script can also be invoked with the "clean" argument.
@@ -30,6 +32,15 @@
@rem
@rem ******
@echo off
+
+IF NOT "%JAVA_HOME%"=="" GOTO MSVC
+rem *****
+rem Javah
+rem *****
+set JAVA_HOME=j:\teamswt\swt-builddir\ibm-jdk1.4.1
+set path=%JAVA_HOME%;%path%
+
+:MSVC
if not "%MSVC_HOME%" == "" goto MAKE
set MSVC_HOME=k:\dev\products\msvc60\vc98
call %MSVC_HOME%\bin\vcvars32.bat
@@ -43,6 +54,7 @@ rem --------------------------
rem Define default values for environment variables used in the makefiles.
rem --------------------------
set programOutput=eclipse.exe
+set programLibrary=eclipse.dll
set defaultOS=win32
set defaultOSArch=x86
set defaultWS=win32
@@ -73,7 +85,14 @@ if "%1" == "" goto WHILE_END
set programOutput=%2
shift
goto NEXT )
-
+ if "%1" == "-library" (
+ set programLibrary=%2
+ shift
+ goto NEXT )
+ if "%1" == "-java" (
+ set javaHome=%2
+ shift
+ goto NEXT )
:LAST_ARG
set extraArgs=%extraArgs% %1
@@ -86,10 +105,12 @@ rem --------------------------
rem Set up environment variables needed by the makefile.
rem --------------------------
set PROGRAM_OUTPUT=%programOutput%
+set PROGRAM_LIBRARY=%programLibrary%
set DEFAULT_OS=%defaultOS%
set DEFAULT_OS_ARCH=%defaultOSArch%
set DEFAULT_WS=%defaultWS%
set OUTPUT_DIR=..\..\bin\%defaultWS%\%defaultOS%\%defaultOSArch%
+set JAVA_HOME=%javaHome%
rem --------------------------
rem Run nmake to build the executable.
diff --git a/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWin.c b/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWin.c
index 31c66ba9e..a1a5fa2b4 100644
--- a/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWin.c
+++ b/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWin.c
@@ -136,12 +136,19 @@ _TCHAR** getArgVM( _TCHAR *vm )
* Find the VM shared library starting from the java executable
*/
_TCHAR* findVMLibrary( _TCHAR* command ) {
- int i;
+ int i, j;
int pathLength;
struct _stat stats;
_TCHAR * path; /* path to resulting jvm shared library */
_TCHAR * location; /* points to begining of jvmLocations section of path */
+ /* for looking in the registry */
+ HKEY keys[2] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
+ HKEY jreKey = NULL, subKey = NULL;
+ DWORD length = MAX_PATH;
+ _TCHAR keyName[MAX_PATH], lib[MAX_PATH];
+ _TCHAR * jreKeyName;
+
if (command != NULL) {
location = _tcsrchr( command, dirSeparator ) + 1;
@@ -174,21 +181,17 @@ _TCHAR* findVMLibrary( _TCHAR* command ) {
}
/* Not found yet, try the registry, we will use the first 1.4 or 1.5 vm we can find*/
- HKEY keys[2] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
- _TCHAR * jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment");
+ jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment");
for (i = 0; i < 2; i++) {
- HKEY jreKey = NULL;
+ jreKey = NULL;
if (RegOpenKeyEx(keys[i], jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) {
- int j = 0;
- _TCHAR keyName[MAX_PATH];
- DWORD length = MAX_PATH;
+ j = 0;
while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) {
/*look for a 1.4 or 1.5 vm*/
if( _tcsncmp(_T("1.4"), keyName, 3) == 0 || _tcsncmp(_T("1.5"), keyName, 3) == 0) {
- HKEY subKey = NULL;
+ subKey = NULL;
if(RegOpenKeyEx(jreKey, keyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) {
- length = MAX_PATH;
- _TCHAR lib[MAX_PATH];
+ length = MAX_PATH;
/*The RuntimeLib value should point to the library we want*/
if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (void*)&lib, &length) == ERROR_SUCCESS) {
if (_tstat( lib, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0)
diff --git a/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWinCommon.c b/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWinCommon.c
index 38aaaeb22..bbc4ae5f9 100644
--- a/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWinCommon.c
+++ b/bundles/org.eclipse.equinox.launcher/library/win32/eclipseWinCommon.c
@@ -14,6 +14,7 @@
#include "eclipseOS.h"
#include <windows.h>
+#include <stdlib.h>
#include <commctrl.h>
#define ECLIPSE_ICON 401
@@ -110,6 +111,12 @@ void unloadLibrary( void * handle ){
/* Find the given symbol in the shared library
*/
void * findSymbol( void * handle, _TCHAR * symbol ){
- return GetProcAddress(handle, symbol);
+ char * str = NULL;
+ void * result;
+
+ str = toNarrow(symbol);
+ result = GetProcAddress(handle, str);
+ free(str);
+ return result;
}
diff --git a/bundles/org.eclipse.equinox.launcher/library/win32/make_win32.mak b/bundles/org.eclipse.equinox.launcher/library/win32/make_win32.mak
index e0629be98..8e0c284ed 100644
--- a/bundles/org.eclipse.equinox.launcher/library/win32/make_win32.mak
+++ b/bundles/org.eclipse.equinox.launcher/library/win32/make_win32.mak
@@ -15,9 +15,11 @@
# This makefile expects the following environment variables set:
#
# PROGRAM_OUTPUT - the filename of the output executable
+# PROGRAM_LIBRARY - the filename of the output dll library
# DEFAULT_OS - the default value of the "-os" switch
# DEFAULT_OS_ARCH - the default value of the "-arch" switch
# DEFAULT_WS - the default value of the "-ws" switch
+# JAVA_HOME - the location of the Java for JNI includes
!include <ntwin32.mak>
@@ -28,10 +30,10 @@ COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj\
DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj\
aeclipse.obj aeclipseWin.obj aeclipseUtil.obj aeclipseJNI.obj
-OBJS = eclipse.obj eclipseWin.obj eclipseShm.obj eclipseConfig.obj eclipseUtil.obj aeclipse.obj aeclipseWin.obj aeclipseShm.obj aeclipseConfig.obj aeclipseUtil.obj
-LIBS = kernel32.lib user32.lib gdi32.lib comctl32.lib
-LFLAGS = /INCREMENTAL:NO /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup
-DLL_LFLAGS = /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x10000000 /DLL
+LIBS = kernel32.lib user32.lib comctl32.lib
+DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib
+LFLAGS = /INCREMENTAL:NO /DEBUG /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup
+DLL_LFLAGS = /INCREMENTAL:NO /PDB:NONE /DEBUG /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x10000000 /DLL
RES = eclipse.res
EXEC = eclipse.exe
DLL = eclipse_1.exe
@@ -42,7 +44,7 @@ acflags = -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
/I$(JAVA_HOME)\include /I$(JAVA_HOME)\include\win32 \
$(cflags)
wcflags = -DUNICODE $(acflags)
-
+cvars = /Zi #/O1
all: $(EXEC) $(DLL)
eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c
@@ -66,6 +68,12 @@ eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c
$(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWinCommon.c
+eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
+ $(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseJNI.c
+
+aeclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c
+ $(cc) $(DEBUG) $(acflags) $(cvars) /FoaeclipseJNI.obj ../eclipseJNI.c
+
aeclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c
$(cc) $(DEBUG) $(acflags) $(cvars) /FoaeclipseMain.obj ../eclipseMain.c
@@ -85,20 +93,20 @@ aeclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c
$(cc) $(DEBUG) $(acflags) $(cvars) /FoaeclipseWin.obj eclipseWin.c
aeclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c
- $(cc) $(DEBUG) $(acflags) $(cvars) /FoaeclipseCommon.obj eclipseWinCommon.c
+ $(cc) $(DEBUG) $(acflags) $(cvars) /FoaeclipseWinCommon.obj eclipseWinCommon.c
$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES)
$(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
- $(link) $(DLL_LFLAGS) -out:$(PROGRAM_OUTPUT) $(DLL_OBJS) $(COMMON_OBJS) $(RES) $(LIBS)
+ $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(RES) $(DLL_LIBS)
$(RES): eclipse.rc
$(rc) -r -fo $(RES) eclipse.rc
install: all
copy $(EXEC) $(OUTPUT_DIR)
- del -f $(EXEC) $(OBJS) $(RES)
+ del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)
clean:
- del $(EXEC) $(OBJS) $(RES)
+ del $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES)

Back to the top