# Makefile for the PDecoder netscape plugin
#
# 5.10.96 jw.
#

TOP     = ../..
include Machine.mk

MOZDIR		= $(HOME)/.netscape

MODMAKE		= mod/modmake -v -$(CC)
#MODMAKE	= /local/multimedia/bin/modmake -v -$(CC)
#PLUGDIR	= $(MOZDIR)/plugins
PLUGDIR		= $(MOZDIR)/plugins/$(ARCH)

PLUGIN_DEFINES	= -DXP_UNIX -I$(PLUGIN_SDK)/include -DDEBUG
C_FLAGS		= $(CFLAGS) -I. $(XINCDIR) $(PLUGIN_DEFINES)
RM		= rm -f

NPUNIX_C	= $(PLUGIN_SDK)/common/npunix.c
SRC		= npPlugin.c binary.c $(NPUNIX_C)
OBJ		= npPlugin.o npunix.o
BIN		= binary.o
SHAREDTARGET	= npPlugin.so


PDECODER	= ../PyramidUwe/decoder/PDecoder
HPDECODER	= ../pyra/decoder/HPDecoder
PDEC_SO		= npPDecode.so
HPDEC_SO	= npHPDecode.so

default all: modmake $(PDEC_SO) $(HPDEC_SO)

modmake:
	cd mod; $(MAKE)

$(PDEC_SO): pdecode.binary.o npPlugin.o
	$(MAKE) BIN=pdecode.binary.o $(SHAREDTARGET)
	mv $(SHAREDTARGET) $(PDEC_SO)

$(HPDEC_SO): hpdecode.binary.o npPlugin.o
	$(MAKE) BIN=hpdecode.binary.o $(SHAREDTARGET)
	mv $(SHAREDTARGET) $(HPDEC_SO)

$(SHAREDTARGET): $(OBJ) $(BIN)
	eval `$(MODMAKE) %LD %LDFLAGS $(LDFLAGS) $(OBJ) $(BIN) -o $(SHAREDTARGET)`

pdecode.binary.o: $(PDECODER) pdecode.mime.h
	xxd -i < $(PDECODER) > binary.h
	cp pdecode.mime.h mime.h
	eval `$(MODMAKE) %CC %CFLAGS $(C_FLAGS) -o $@ -c binary.c`

hpdecode.binary.o: $(HPDECODER) hpdecode.mime.h
	xxd -i < $(HPDECODER) > binary.h
	cp hpdecode.mime.h mime.h
	eval `$(MODMAKE) %CC %CFLAGS $(C_FLAGS) -o $@ -c binary.c`

npPlugin.o: npPlugin.c mime.h Makefile
	eval `$(MODMAKE) %CC %CFLAGS $(C_FLAGS) -c npPlugin.c`

binary.o: binary.c binary.h
	eval `$(MODMAKE) %CC %CFLAGS $(C_FLAGS) -c binary.c`
	
npunix.o: $(NPUNIX_C)
	eval `$(MODMAKE) %CC %CFLAGS $(C_FLAGS) -c $(NPUNIX_C)`

clean:
	$(RM) $(OBJ) $(SHAREDTARGET) $(HPDEC_SO) $(PDEC_SO) so_locations
	$(RM) hpdecode.binary.o pdecode.binary.o
	cd mod; $(MAKE) clean

install-home: all
	rm -f $(MOZDIR)/plugin-list $(MOZDIR)/plugin-list.BAK
	rm -f $(PLUGDIR)/$(PDEC_SO) $(PLUGDIR)/$(HPDEC_SO)
	cp $(PDEC_SO) $(HPDEC_SO) $(PLUGDIR)

install: all
	cp $(PDEC_SO) $(HPDEC_SO) ../../bin/$(ARCH)
