## Makefile for Olympus Plugin Template 
##
## Copyright (c) 2000 Mount Linux Inc.
## Licensed under the terms of the GPL or BSD ( refer to source code )

include ../../src/Make.rules

OBJECTS = mod_template.o
OBJSMOC = moc_mod_template.o
SRCSMOC = $(OBJSMOC:%.o=%.cc)
CPPFLAGS= $(G_CPPFLAGS) -I../../src/client/include -I../../src/client/netmessages/include \
          -I../../src/common/include -I../../src/common/crypto/include \
          -I../../src/common/GNU/dlc $(QT_INCLUDES)
CXXFLAGS= $(G_CXXFLAGS) -s -O2 -fPIC
DEFS    = $(G_DEFS)
LDFLAGS = -shared -Xlinker -E
TARGET  = mod_template.so

.PHONY: all all-recursive clean clean-recursive distclean distclean-recursive \
        install install-recursive

## Build Targets
all: all-recursive

all-recursive: $(TARGET)

.cc.o:
	$(CXX) -c $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -o $@ $<

moc: $(SRCSMOC)

$(TARGET): $(SRCSMOC) $(OBJSMOC) $(OBJECTS)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(OBJSMOC) $(LIBS)

## Installation Targets
install:
	@( cd .. && $(MAKE) $(MFLAGS) install )

install-recursive:
	$(INSTALL_MODULE) $(TARGET) $(DESTDIR)$(plugindir)/$(TARGET)

## Clean Targets
clean clean-recursive distclean-recursive:
	rm -f $(OBJECTS) $(SRCSMOC) $(OBJSMOC) $(TARGET)

distclean:
	@( cd .. && $(MAKE) $(MFLAGS) distclean )

## Qt Meta Object Code generated by moc
$(SRCSMOC): $(SRCSMOC:moc_%.cc=%.h)
	$(MOC) $(@:moc_%.cc=%.h) -o $@

## Dependencies
$(OBJECTS) $(OBJSMOC): ../../src/client/Makefile ../../src/Make.rules ../../src/common/include/config.h

mod_template.o: mod_template.cc mod_template.h ../../src/common/include/netmessage.h \
                ../../src/common/include/plugin.h
