1#********************************************************************** 2# Copyright (c) 2000, 2015 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# Kevin Cornell (Rational Software Corporation) 13# Mikael Barbero 14#********************************************************************** 15include ../make_version.mak 16# Makefile for creating the Cocoa eclipse launcher program. 17 18# This makefile expects the following environment variables set: 19# 20# PROGRAM_OUTPUT - the filename of the output executable 21# DEFAULT_OS - the default value of the "-os" switch 22# DEFAULT_OS_ARCH - the default value of the "-arch" switch 23# DEFAULT_WS - the default value of the "-ws" switch 24 25#default value for PROGRAM_OUTPUT 26ifeq ($(PROGRAM_OUTPUT),) 27 PROGRAM_OUTPUT=eclipse 28endif 29PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so 30 31# Define the object modules to be compiled and flags. 32MAIN_OBJS = eclipseMain.o eclipseCocoaMain.o 33COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseCocoaCommon.o 34DLL_OBJS = eclipse.o eclipseCocoa.o eclipseUtil.o eclipseJNI.o eclipseShm.o 35 36EXEC = $(PROGRAM_OUTPUT) 37DLL = $(PROGRAM_LIBRARY) 38LIBS = -framework Cocoa 39 40CFLAGS = -O -s \ 41 -Wall \ 42 -DCOCOA -xobjective-c \ 43 $(ARCHS) \ 44 -DMACOSX \ 45 -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ 46 -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ 47 -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ 48 -I.. $(JAVA_HEADERS) 49 50all: $(EXEC) $(DLL) 51 52eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h 53 $(CC) $(CFLAGS) -c ../eclipse.c -o $@ 54 55eclipseCocoaMain.o : eclipseCocoaMain.c 56 $(CC) $(CFLAGS) -c eclipseCocoaMain.c -o $@ 57 58eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h eclipseMain.c ../eclipseMain.c 59 $(CC) $(CFLAGS) -c eclipseMain.c -o $@ 60 61eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h 62 $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ 63 64eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h 65 $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ 66 67eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h 68 $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ 69 70eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c 71 $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ 72 73eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c 74 $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ 75 76$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) 77 $(CC) -pagezero_size 0x1000 -o $(EXEC) $(ARCHS) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) 78 79$(DLL): $(DLL_OBJS) $(COMMON_OBJS) 80 $(CC) -bundle -o $(DLL) $(ARCHS) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) 81 82install: all 83 cp -v $(EXEC) $(PROGRAM_OUTPUT_DIR) 84 rm -f $(EXEC) $(OBJS) 85 86clean: 87 rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) 88