# -------------------------------------------------------------------- 
# SMS Client, send messages to mobile phones and pagers		
#									
# Makefile								
#									
#  Copyright (C) 1999 Angelo Masci					
#									
#  This library is free software; you can redistribute it and/or	
#  modify it under the terms of the GNU Library General Public		
#  License as published by the Free Software Foundation; either	
#  version 2 of the License, or (at your option) any later version.	
#									
#  This library is distributed in the hope that it will be useful,	
#  but WITHOUT ANY WARRANTY; without even the implied warranty of	
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU	
#  Library General Public License for more details.			
#									
#  You should have received a copy of the GNU Library General Public	
#  License along with this library; if not, write to the Free		
#  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.	
#									
#  You can contact the author at this e-mail address:			
#									
#  angelo@styx.demon.co.uk						
#									
# -------------------------------------------------------------------- 
# $Id$
# -------------------------------------------------------------------- 

include ../../Makefile.config

# --------------------------------------------------------------------

XINC  = -I../

# --------------------------------------------------------------------

all: terminal client server snoop mdup

clean:
	rm -f *.o
	rm -f terminal client server snoop mdup

# --------------------------------------------------------------------

comms:
	cd ../comms ; $(MAKE) comms.a

lock:
	cd ../lock ; $(MAKE) lock.a

resource:
	cd ../resource ; $(MAKE) resource.a

parser_lib:
	cd ../parser ; $(MAKE)

# --------------------------------------------------------------------

terminal: terminal.o terminal_io.o logfile_io.o ../common/common.o
	$(CC) $(CFLAGS) terminal.o terminal_io.o logfile_io.o -o terminal ../common/common.o

client: client.o client_lib.o terminal_io.o logfile_io.o ../common/common.o
	$(CC) $(CFLAGS) client.o client_lib.o terminal_io.o logfile_io.o -o client $(XTRALIBS) ../common/common.o

server: server.o server_lib.o terminal_io.o logfile_io.o ../common/common.o
	$(CC) $(CFLAGS) server.o server_lib.o terminal_io.o logfile_io.o -o server $(XTRALIBS) ../common/common.o

snoop: snoop.o server_lib.o client_lib.o terminal_io.o logfile_io.o ../common/common.o
	$(CC) $(CFLAGS) snoop.o server_lib.o client_lib.o terminal_io.o logfile_io.o -o snoop $(XTRALIBS) ../common/common.o

# --------------------------------------------------------------------

mdup: mdup.o comms resource parser_lib lock ../common/common.o ../logfile/logfile.o  terminal_io.o logfile_io.o 
	$(CC) $(CFLAGS) mdup.o -o mdup ../comms/comms.a ../common/common.o ../logfile/logfile.o ../lock/lock.a ../resource/resource.a ../parser/gs_parser.a terminal_io.o logfile_io.o

# --------------------------------------------------------------------

terminal.o: terminal.c terminal_io.h logfile_io.h
	$(CC) $(CFLAGS) $(XINC) -c terminal.c

client.o: client.c terminal_io.h logfile_io.h client_lib.h
	$(CC) $(CFLAGS) $(XINC) -c client.c

server.o: server.c terminal_io.h logfile_io.h server_lib.h
	$(CC) $(CFLAGS) $(XINC) -c server.c

snoop.o: snoop.c terminal_io.h logfile_io.h server_lib.h client_lib.h
	$(CC) $(CFLAGS) $(XINC) -c snoop.c

client_lib.o: client_lib.c client_lib.h
	$(CC) $(CFLAGS) $(XINC) -c client_lib.c

server_lib.o: server_lib.c server_lib.h
	$(CC) $(CFLAGS) $(XINC) -c server_lib.c

terminal_io.o: terminal_io.c terminal_io.h logfile_io.h
	$(CC) $(CFLAGS) $(XINC) -c terminal_io.c

logfile_io.o: logfile_io.c logfile_io.h
	$(CC) $(CFLAGS) $(XINC) -c logfile_io.c

mdup.o: mdup.c
	$(CC) $(CFLAGS) $(XINC) -c mdup.c

# --------------------------------------------------------------------

../logfile/logfile.o: ../logfile/logfile.c ../logfile/logfile.h
	cd ../logfile ; $(MAKE) logfile.o

../common/common.o: ../common/common.c ../common/common.h
	cd ../common ; $(MAKE) common.o

