## Makefile for Olympus Plugin mod_inetd
##
## Copyright (c) 2000 Mount Linux Inc.
## Licensed under the terms of the GPL

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

OBJECTS = mod_inetd.o mod_inetdwin.o mod_inetdslots.o mod_inetdParser.o mod_inetdListClass.o
OBJSMOC = moc_mod_inetdwin.o moc_mod_inetdlist.o
SRCSMOC = $(OBJSMOC:%.o=%.cc)
CPPFLAGS= $(G_CPPFLAGS) -I../../include -I../../netmessages/include \
          -I../../../common/include -I../../../common/crypto/include \
          -I../../../common/GNU/dlc -I../../../common/GNU/regexx $(QT_INCLUDES)
CXXFLAGS= $(G_CXXFLAGS) -s -O2
DEFS    = $(G_DEFS)
LDFLAGS = -shared -Xlinker -E
TARGET  = mod_inetd.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) -fPIC -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=include/%.h)
	$(MOC) $(@:moc_%.cc=include/%.h) -o $@

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

mod_inetd.o: include/mod_inetd.h include/mod_inetdwin.h mod_inetd.cc ../../../common/include/netmessage.h
mod_inetdwin.o: include/mod_inetdwin.h include/mod_inetdlist.h mod_inetdwin.cc
mod_inetdslots.o: include/mod_inetdwin.h mod_inetdslots.cc ../../../common/include/netmessage.h
mod_inetdParser.o: include/mod_inetdwin.h mod_inetdParser.cc
mod_inetdListClass.o: include/mod_inetdlist.h mod_inetdListClass.cc
