blob: 26de453b1f9642e14c83ccf56b18dd16c52bdbb2 [file] [log] [blame]
#*******************************************************************************
# Copyright (c) 2002, 2009 QNX Software Systems 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:
# QNX Software Systems - initial API and implementation
# Alex Blewitt - MacOSX with a 64-bit vm
#*******************************************************************************/
# makefile for libspawner.so
# See http://developer.apple.com/documentation/Java/Conceptual/Java141Development/Core_APIs/chapter_6_section_4.html
JAVA_HOME = /Library/Java/Home
ifeq ($(JAVA_HOME),)
$(warning JAVA_HOME not set in environment)
endif
# Defaults which can be overridden.
OS = macosx
ARCH_PPC = ppc
ARCH_X86 = x86
ARCH_X86_64 = x86_64
JDK_INCLUDES= $(JAVA_HOME)/include
CC=gcc
LD=libtool
CPPFLAGS = -I. -I$(JDK_INCLUDES) #-I$(JDK_OS_INCLUDES)
CFLAGS +=-fPIC -D_REENTRANT
ARCH_FLAG_PPC = -arch ppc
ARCH_FLAG_X86 = -arch i386
ARCH_FLAG_X86_64 = -arch x86_64
INSTALL_DIR_PPC = ../os/$(OS)/$(ARCH_PPC)
INSTALL_DIR_X86 = ../os/$(OS)/$(ARCH_X86)
INSTALL_DIR_X86_64 = ../os/$(OS)/$(ARCH_X86_64)
LIB_NAME_SPAWNER = libspawner.dylib
LIB_NAME_FULL_SPAWNER_PPC = $(INSTALL_DIR_PPC)/libspawner.jnilib
LIB_NAME_FULL_SPAWNER_X86 = $(INSTALL_DIR_X86)/libspawner.jnilib
LIB_NAME_FULL_SPAWNER_X86_64 = $(INSTALL_DIR_X86_64)/libspawner.jnilib
OBJS_SPAWNER_PPC = spawner_$(ARCH_PPC).o \
io_$(ARCH_PPC).o \
exec_unix_$(ARCH_PPC).o \
exec_pty_$(ARCH_PPC).o \
openpty_$(ARCH_PPC).o \
pfind_$(ARCH_PPC).o
OBJS_SPAWNER_X86 = spawner_$(ARCH_X86).o \
io_$(ARCH_X86).o \
exec_unix_$(ARCH_X86).o \
exec_pty_$(ARCH_X86).o \
openpty_$(ARCH_X86).o \
pfind_$(ARCH_X86).o
OBJS_SPAWNER_X86_64 = spawner_$(ARCH_X86_64).o \
io_$(ARCH_X86_64).o \
exec_unix_$(ARCH_X86_64).o \
exec_pty_$(ARCH_X86_64).o \
openpty_$(ARCH_X86_64).o \
pfind_$(ARCH_X86_64).o
LIB_NAME_PTY = libpty.so
LIB_NAME_FULL_PTY_PPC = $(INSTALL_DIR_PPC)/libpty.jnilib
LIB_NAME_FULL_PTY_X86 = $(INSTALL_DIR_X86)/libpty.jnilib
LIB_NAME_FULL_PTY_X86_64 = $(INSTALL_DIR_X86_64)/libpty.jnilib
OBJS_PTY_PPC = openpty_$(ARCH_PPC).o pty_$(ARCH_PPC).o ptyio_$(ARCH_PPC).o
OBJS_PTY_X86 = openpty_$(ARCH_X86).o pty_$(ARCH_X86).o ptyio_$(ARCH_X86).o
OBJS_PTY_X86_64 = openpty_$(ARCH_X86_64).o pty_$(ARCH_X86_64).o ptyio_$(ARCH_X86_64).o
OBJS_PPC = $(OBJS_SPAWNER_PPC) $(OBJS_PTY_PPC)
OBJS_X86 = $(OBJS_SPAWNER_X86) $(OBJS_PTY_X86)
OBJS_X86_64 = $(OBJS_SPAWNER_X86_64) $(OBJS_PTY_X86_64)
all: ppc x86 x86_64
ppc: $(LIB_NAME_FULL_SPAWNER_PPC) $(LIB_NAME_FULL_PTY_PPC)
x86: $(LIB_NAME_FULL_SPAWNER_X86) $(LIB_NAME_FULL_PTY_X86)
x86_64: $(LIB_NAME_FULL_SPAWNER_X86_64) $(LIB_NAME_FULL_PTY_X86_64)
rebuild: clean all
$(LIB_NAME_FULL_SPAWNER_PPC) : $(OBJS_SPAWNER_PPC)
mkdir -p $(INSTALL_DIR_PPC)
$(CC) -dynamiclib $(ARCH_FLAG_PPC) -o $(LIB_NAME_FULL_SPAWNER_PPC) $(OBJS_SPAWNER_PPC) -lc -framework JavaVM
$(LIB_NAME_FULL_SPAWNER_X86) : $(OBJS_SPAWNER_X86)
mkdir -p $(INSTALL_DIR_X86)
$(CC) -dynamiclib $(ARCH_FLAG_X86) -o $(LIB_NAME_FULL_SPAWNER_X86) $(OBJS_SPAWNER_X86) -lc -framework JavaVM
$(LIB_NAME_FULL_SPAWNER_X86_64) : $(OBJS_SPAWNER_X86_64)
mkdir -p $(INSTALL_DIR_X86_64)
$(CC) -dynamiclib $(ARCH_FLAG_X86_64) -o $(LIB_NAME_FULL_SPAWNER_X86_64) $(OBJS_SPAWNER_X86_64) -lc -framework JavaVM
$(LIB_NAME_FULL_PTY_PPC): $(OBJS_PTY_PPC)
mkdir -p $(INSTALL_DIR_PPC)
$(CC) -dynamiclib $(ARCH_FLAG_PPC) -o $(LIB_NAME_FULL_PTY_PPC) $(OBJS_PTY_PPC) -lc -framework JavaVM
$(LIB_NAME_FULL_PTY_X86): $(OBJS_PTY_X86)
mkdir -p $(INSTALL_DIR_X86)
$(CC) -dynamiclib $(ARCH_FLAG_X86) -o $(LIB_NAME_FULL_PTY_X86) $(OBJS_PTY_X86) -lc -framework JavaVM
$(LIB_NAME_FULL_PTY_X86_64): $(OBJS_PTY_X86_64)
mkdir -p $(INSTALL_DIR_X86_64)
$(CC) -dynamiclib $(ARCH_FLAG_X86_64) -o $(LIB_NAME_FULL_PTY_X86_64) $(OBJS_PTY_X86_64) -lc -framework JavaVM
spawner_$(ARCH_PPC).o: spawner.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ spawner.c
io_$(ARCH_PPC).o: io.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ io.c
exec_unix_$(ARCH_PPC).o: exec_unix.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ exec_unix.c
exec_pty_$(ARCH_PPC).o: exec_pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ exec_pty.c
openpty_$(ARCH_PPC).o: openpty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ openpty.c
pfind_$(ARCH_PPC).o: pfind.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ pfind.c
openpty_$(ARCH_PPC).o: openpty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ openpty.c
pty_$(ARCH_PPC).o: pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ pty.c
ptyio_$(ARCH_PPC).o: ptyio.c
$(CC) $(CFLAGS) $(ARCH_FLAG_PPC) $(CPPFLAGS) -c -o $@ ptyio.c
spawner_$(ARCH_X86).o: spawner.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ spawner.c
io_$(ARCH_X86).o: io.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ io.c
exec_unix_$(ARCH_X86).o: exec_unix.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ exec_unix.c
exec_pty_$(ARCH_X86).o: exec_pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ exec_pty.c
openpty_$(ARCH_X86).o: openpty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ openpty.c
pfind_$(ARCH_X86).o: pfind.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ pfind.c
pty_$(ARCH_X86).o: pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ pty.c
ptyio_$(ARCH_X86).o: ptyio.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86) $(CPPFLAGS) -c -o $@ ptyio.c
spawner_$(ARCH_X86_64).o: spawner.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ spawner.c
io_$(ARCH_X86_64).o: io.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ io.c
exec_unix_$(ARCH_X86_64).o: exec_unix.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ exec_unix.c
exec_pty_$(ARCH_X86_64).o: exec_pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ exec_pty.c
openpty_$(ARCH_X86_64).o: openpty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ openpty.c
pfind_$(ARCH_X86_64).o: pfind.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ pfind.c
pty_$(ARCH_X86_64).o: pty.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ pty.c
ptyio_$(ARCH_X86_64).o: ptyio.c
$(CC) $(CFLAGS) $(ARCH_FLAG_X86_64) $(CPPFLAGS) -c -o $@ ptyio.c
clean :
$(RM) $(OBJS_PPC) $(LIB_NAME_FULL_SPAWNER_PPC) $(LIB_NAME_FULL_PTY_PPC)
$(RM) $(OBJS_X86) $(LIB_NAME_FULL_SPAWNER_X86) $(LIB_NAME_FULL_PTY_X86)
$(RM) $(OBJS_X86_64) $(LIB_NAME_FULL_SPAWNER_X86_64) $(LIB_NAME_FULL_PTY_X86_64)