| #******************************************************************************* | |
| # 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) |