#
# Makefile - Silencer Toolkit
#
# Written by Michael "Mr. Sump" Poppitz.
#

CC=c++
OPT=-O2

###
### GLOBAL OBJECTIVES ##################################################
###

all: s2generator s2digilimit s2monitor s2attractor

clean:
	rm -f *~ *.o s2generator s2digilimit s2monitor s2attractor

###
### EXAMPLE APPLICATIONS ###############################################
###


s2generator: trx.o trx.h call.o call.h packet.o packet.h factory.o factory.h s2generator.cpp
	$(CC) $(OPT) -o s2generator trx.o call.o packet.o factory.o s2generator.cpp

s2digilimit: trx.o trx.h call.o call.h packet.o packet.h s2digilimit.cpp
	$(CC) $(OPT) -o s2digilimit trx.o call.o packet.o s2digilimit.cpp

s2monitor: trx.o trx.h packet.o packet.h monitor.o monitor.h s2monitor.cpp
	$(CC) $(OPT) -o s2monitor call.o trx.o packet.o monitor.o s2monitor.cpp

s2attractor: trx.o trx.h packet.o packet.h factory.o factory.h monitor.o monitor.h s2attractor.cpp
	$(CC) $(OPT) -o s2attractor trx.o call.o packet.o factory.o monitor.o s2attractor.cpp

###
### TOOLKIT COMPONENTS  ################################################
###

call.o: call.h call.cpp
	$(CC) $(OPT) -c call.cpp

packet.o: packet.h call.h packet.cpp
	$(CC) $(OPT) -c packet.cpp

trx.o: trx.h packet.h call.h trx.cpp
	$(CC) $(OPT) -c trx.cpp

factory.o: factory.h packet.h call.h factory.cpp
	$(CC) $(OPT) -c factory.cpp

monitor.o: monitor.h packet.h call.h monitor.cpp
	$(CC) $(OPT) -c monitor.cpp
