# Where is your Plugin Source Development Kit from Netscape?
SDK=/home/hubbe/src/PluginSDK30b5

# Where is your Xwindows located?
X11=/usr/X11/

# Choose compiler
CC=gcc
LD=gcc
BINFORMAT=bin

any:
	@echo 'Choose target:'
	@echo '   make linux        - for Linux'
	@echo '   make solaris-gcc  - for Solaris with gcc'
	@echo '   make solaris-cc   - for Solaris with cc'
	@echo '   make du           - for Digital/Compac Unix or OSF1'
	@echo '   make freebsd-aout - for FreeBSD with a.out netscape'
	@echo '   make hp-gcc       - for HP-UX with gcc'
	@echo '   make hp-cc        - for HP-UX with cc'
	@echo '   make irix         - for Irix'
	@echo '   make aix          - for AIX >= 4.2'

irix:
	make plugger.so CC=gcc XCFLAGS=-fpic LD=ld XLDFLAGS='-shared -n32'

aix:
	make plugger.so CC=gcc XCFLAGS=-fpic LD=ld XLDFLAGS='-G -bexpall'

hp-gcc:
	make plugger.so CC=gcc XCFLAGS=-fpic LD=ld XLDFLAGS=-b

hp-cc:
	make plugger.so CC=cc XCFLAGS='-Aa +z' LD=ld XLDFLAGS='-b +e NP_GetValue +e NP_Initialize +e NP_Shutdown +e NP_GetMIMEDescription'

linux:
	make plugger.so CC=gcc XCFLAGS=-fpic LD=gcc XLDFLAGS=-shared

solaris-gcc:
	make plugger.so CC=gcc XCFLAGS=-fpic LD=ld XLDFLAGS=-G

solaris-cc:
	make plugger.so CC=cc LD=ld XLDFLAGS=-G

du:
	make plugger.so CC=cc LD=ld XLDFLAGS='-expect_unresolved "*" -shared -msym -O3'

freebsd-aout:
	make plugger.so CC=gcc XCFLAGS='-fpic -aout' LD=gcc XLDFLAGS='-shared -aout'

auto:
	@case "x`uname`" in \
	  xLinux) make linux ;; \
	  xSunOS) make solaris ;; \
	  xHP-UX) make hp-gcc ;; \
	  xOSF1) make du ;;\
	  xIRIX) make irix ;;\
	  xAIX) make aix ;;\
	esac

# For other systems, look at the example makefiles in the
# PluginSDK30b5/examples/UnixTemplate/Unix directory

# Undefine STREAMER to disable the streaming feature in plugger.
STREAM=-DSTREAMER


#
# No user servicable parts beyond this point
# 

VERSION=3.2

BASE_FILES=Makefile plugger.7 README COPYING pluggerrc
SOURCE_FILES=plugger.c plugger.spec.in
BIN_FILES=plugger.so

DEFINES=$(STREAM) -DVERSION=\"$(VERSION)\"  -DDEBUG # -DPLUGIN_TRACE
CFLAGS=-O -I$(SDK)/include -I$(X11)/include -DXP_UNIX $(DEFINES) $(XCFLAGS)
LDFLAGS=$(XLDFLAGS)

plugger.so: plugger.o common.o
	$(LD) $(LDFLAGS) -o plugger.so plugger.o common.o

plugger.o: plugger.c
	$(CC) -c $(CFLAGS) -o plugger.o plugger.c

common.o: $(SDK)/common/npunix.c
	$(CC) -c $(CFLAGS) -o common.o $(SDK)/common/npunix.c

clean:
	-rm *.o

spotless: clean
	-rm *.so *~

localinstall:
	cp plugger.so $$HOME/.netscape/plugins/
	if [ ! -f $$HOME/.netscape/pluggerrc ]; then cp pluggerrc $$HOME/.netscape ; fi

install:
	-@mkdir /usr/local 1>/dev/null 2>&1 || :
	-@mkdir /usr/local/lib 1>/dev/null 2>&1 || :
	-@mkdir /usr/local/lib/netscape 1>/dev/null 2>&1 || :
	-@mkdir /usr/local/lib/netscape/plugins 1>/dev/null 2>&1 || :
	cp plugger.so /usr/local/lib/netscape/plugins/
	if [ ! -f /etc/pluggerrc ]; then cp pluggerrc /etc/ ; fi
	cp plugger.7 /usr/local/man/man7/

plugger-$(VERSION).tar.gz: $(BASE_FILES) $(SOURCE_FILES)
	@( DIR=`pwd`;\
          BASE=`basename $$DIR`;\
	  cd .. ; \
	  if [ "$$BASE" != "plugger-$(VERSION)" ]; then \
	    ln -s "$$BASE" plugger-$(VERSION) ; \
          fi ;\
	  tar cf - `for a in $(BASE_FILES) $(SOURCE_FILES); do echo plugger-$(VERSION)/$$a ; done` | gzip -9 >plugger-$(VERSION)/plugger-$(VERSION).tar.gz  ;\
          if [ "$$BASE" != "plugger-$(VERSION)" ]; then \
	    rm plugger-$(VERSION) ; \
          fi ;\
	)

export: plugger-$(VERSION).tar.gz

bin_export: plugger-$(VERSION)-$(BINFORMAT).tar.gz

echo_version:
	@echo $(VERSION)

/usr/src/redhat/SOURCES/plugger-$(VERSION).tar.gz: plugger-$(VERSION).tar.gz
	cp plugger-$(VERSION).tar.gz /usr/src/redhat/SOURCES/plugger-$(VERSION).tar.gz

plugger.spec: plugger.spec.in
	sed <plugger.spec.in >plugger.spec -e 's/@VERSION@/$(VERSION)/g'

rpm: /usr/src/redhat/SOURCES/plugger-$(VERSION).tar.gz ./plugger.spec
	rpm -ba plugger.spec
	cp /usr/src/redhat/SRPMS/plugger-$(VERSION)-1.src.rpm .
	cp /usr/src/redhat/RPMS/*/plugger-$(VERSION)-1.*.rpm .

plugger-$(VERSION)-$(BINFORMAT).tar.gz: $(BASE_FILES) $(BIN_FILES)
	@( DIR=`pwd`;\
          BASE=`basename $$DIR`;\
	  cd .. ; \
	  if [ "$$BASE" != "plugger-$(VERSION)" ]; then \
	    ln -s "$$BASE" plugger-$(VERSION) ; \
          fi ;\
	  tar cf - `for a in $(BASE_FILES) $(BIN_FILES); do echo plugger-$(VERSION)/$$a ; done` | gzip -9 >plugger-$(VERSION)/plugger-$(VERSION)-$(BINFORMAT).tar.gz  ;\
          if [ "$$BASE" != "plugger-$(VERSION)" ]; then \
	    rm plugger-$(VERSION) ; \
          fi ;\
	)
