1#****************************************************************************** 2# Copyright (c) 2000, 2009 IBM Corporation and others. 3# 4# This program and the accompanying materials 5# are made available under the terms of the Eclipse Public License 2.0 6# which accompanies this distribution, and is available at 7# https://www.eclipse.org/legal/epl-2.0/ 8# 9# SPDX-License-Identifier: EPL-2.0 10# 11# Contributors: 12# IBM Corporation - initial API and implementation 13# Kevin Cornell (Rational Software Corporation) 14#******************************************************************************* 15 16# Makefile for creating the eclipse launcher program. 17 18# This makefile expects the following environment variables set: 19# 20# PROGRAM_OUTPUT - the filename of the output executable 21# PROGRAM_LIBRARY - the filename of the output dll library 22# DEFAULT_OS - the default value of the "-os" switch 23# DEFAULT_OS_ARCH - the default value of the "-arch" switch 24# DEFAULT_WS - the default value of the "-ws" switch 25# JAVA_HOME - the location of the Java for JNI includes 26NODEBUG=1 27!include <ntwin32.mak> 28!include <..\make_version.mak> 29 30PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll 31 32# Define the object modules to be compiled and flags. 33MAIN_OBJS = eclipseMain.obj 34COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj 35DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj 36 37# using dynamic lib 38#LIBS = kernel32.lib user32.lib comctl32.lib msvcrt.lib 39#DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib 40 41LIBS = kernel32.lib user32.lib comctl32.lib libcmt.lib bufferoverflowU.lib 42DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib libcmt.lib version.lib bufferoverflowU.lib 43# LIBS = kernel32.lib user32.lib gdi32.lib comctl32.lib bufferoverflowu.lib 44# LFLAGS = /INCREMENTAL:NO /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64 45 46# was: windows 47LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64 48CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup -machine:IA64 49DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO /PDB:NONE -entry:_DllMainCRTStartup -dll /BASE:0x72000000 /DLL -machine:IA64 50RES = eclipse.res 51EXEC = eclipse.exe 52CONSOLE = eclipsec.exe 53DLL = $(PROGRAM_LIBRARY) 54DEBUG = #$(cdebug) 55wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ 56 -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ 57 -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ 58 -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ 59 $(cflags) -D_CRT_SECURE_NO_WARNINGS -D_CRT_NON_CONFORMING_SWPRINTFS 60all: $(EXEC) $(DLL) $(CONSOLE) 61 62eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c 63 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseMain.c 64 65eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c 66 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseCommon.c 67 68eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c 69 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipse.c 70 71eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c 72 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseUtil.c 73 74eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c 75 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseConfig.c 76 77eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c 78 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWin.c 79 80eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c 81 $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWinCommon.c 82 83eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c 84 $(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseJNI.c 85 86eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c 87 $(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseShm.c 88 89$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) 90 $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) 91#$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) 92# $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) 93 94#the console version needs a flag set, should look for a better way to do this 95$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) 96 del -f eclipseConfig.obj aeclipseConfig.obj 97 $(cc) $(DEBUG) $(wcflags) $(cvars) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c 98 $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) 99 100$(DLL): $(DLL_OBJS) $(COMMON_OBJS) 101 $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) 102 103$(RES): eclipse.rc 104 $(rc) -v -r -fo $(RES) eclipse.rc 105 106install: all 107 copy $(EXEC) $(OUTPUT_DIR) 108 del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) 109 110clean: 111 del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) 112