blob: a040cd7e97f99d17a74c7e23a0ef3c257c29feed [file] [log] [blame]
#*******************************************************************************
# Copyright (c) 2000, 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
# Kevin Cornell (Rational Software Corporation)
# Tom Tromey (Red Hat, Inc.)
#*******************************************************************************
include ../make_version.mak
# Makefile for creating the GTK eclipse launcher program.
#
# This makefile expects the utility "pkg-config" to be in the PATH.
# This makefile expects the following environment variables set:
#
# PROGRAM_OUTPUT - the filename of the output executable
# 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 - JAVA_HOME for jni headers
#default value for PROGRAM_OUTPUT
ifeq ($(PROGRAM_OUTPUT),)
PROGRAM_OUTPUT=eclipse
endif
PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so
ifeq ($(DEFAULT_JAVA),)
DEFAULT_JAVA=DEFAULT_JAVA_JNI
endif
# Define the object modules to be compiled and flags.
CC?=gcc
MAIN_OBJS = eclipseMain.o
COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o
DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o
EXEC = $(PROGRAM_OUTPUT)
DLL = $(PROGRAM_LIBRARY)
#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11
LIBS = -lpthread -ldl
GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\""
LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic
CFLAGS = ${M_ARCH} -g -s -Wall\
-fpic \
-DLINUX \
-DMOZILLA_FIX \
-DDEFAULT_OS="\"$(DEFAULT_OS)\"" \
-DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \
-DDEFAULT_WS="\"$(DEFAULT_WS)\"" \
-D$(DEFAULT_JAVA) \
$(GTK_LIBS) \
-I. \
-I.. \
-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux \
`pkg-config --cflags gtk+-2.0`
all: $(EXEC) $(DLL)
eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h
$(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o
eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c
$(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o
eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c
$(CC) $(CFLAGS) -c ../eclipseCommon.c
eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c
$(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o
eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c
$(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o
eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h
$(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o
eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h
$(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o
eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h
$(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o
eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h
$(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o
eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c
$(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o
eclipseNix.o: ../eclipseNix.c
$(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o
$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
$(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
$(DLL): $(DLL_OBJS) $(COMMON_OBJS)
$(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
install: all
cp $(EXEC) $(OUTPUT_DIR)
cp $(DLL) $(LIBRARY_DIR)
rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)
clean:
rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS)