VERSION=posix-1.1.5

# AIX 4.1.5 w/ GNUC and AIX linker
CC=gcc
CXXFLAGS = -O -I/usr/jdk_base/include -I/usr/jdk_base/include/aix -mthreads
LIB=-mthreads -Wl,-blibpath:/lib:/usr/lib -lpthreads \
	-L/usr/jdk_base/lib/aix/native_threads -ljava
JAVALIB = /usr/jdk_base/lib/aix/native_threads/libposix.a

# RedHat Linux 6.2, 7.2
#CXXFLAGS = -O -pthread -I/usr/jdk118/include -I/usr/jdk118/include/linux \
#	-DHAS_SEM_POST -Dsigthreadmask=pthread_sigmask
#LIB =	-pthread -L/usr/jdk118/lib/linux/native_threads -ljava
#JAVALIB = /usr/jdk118/lib/linux/native_threads/libposix.so

# Solaris 2.6
#CCFLAGS = -O -I/usr/java/include -I/usr/java/include/solaris -DSIGMAX=MAXSIG
#LIB = -L/usr/java/lib/sparc/native_threads -ljava -lpthread
#JAVALIB = /usr/java/lib/sparc/native_threads/libposix.so
#CCC = gcc

all:	posix.so

POSIX_OBJS = ipc.o Errno.o CPtr.o Signal.o Stat.o

ipc.o:	ipc.cc posix_MsgQ.h posix_IPC.h posix_SharedMem.h

Errno.o:	posix_Errno.h Errno.cc

CPtr.o:	CPtr.cc posix_CPtr.h posix_Malloc.h

Signal.o: Signal.cc posix_Signal.h

File.o:	File.cc posix_File.h

posix.so: $(POSIX_OBJS)
	gcc -shared -o posix.so $(POSIX_OBJS) $(LIB)

#posix.exp:	ipc.o Errno.o CPtr.o Signal.o
#	genexp ipc.o Errno.o CPtr.o Signal.o >posix.exp
#posix.so:	posix.exp
#	ld -s -o posix.so ipc.o Errno.o CPtr.o Signal.o	\
#	  -bnoentry -bM:SRE -bE:posix.exp -blibpath:/lib:/usr/lib \
#	  -lpthreads -lc_r -L/java/lib/aix/native_threads -ljava

install:	posix.so
	su root -c "cp posix.so $(JAVALIB)"

tar:
	ln -s . $(VERSION) || true
	tar -cvhf $(VERSION).tar $(VERSION)/*.java $(VERSION)/*.h \
		$(VERSION)/*.cc $(VERSION)/Makefile $(VERSION)/*.html \
		$(VERSION)/unfinished/*.java $(VERSION)/*.spec \
		$(VERSION)/TODO $(VERSION)/CREDITS $(VERSION)/COPYING
	gzip $(VERSION).tar; rm $(VERSION)
zip:
	zip posix *.java *.h *.cc *.html Makefile

doc:	*.java package.html
	polardoc -author -version -package -notree -noindex \
		-d $(DOCDIR) *.java
