# Makefile

OBJ = extras.o locking.o cfgfile.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o logging.o alarm.o
OBJ2 = extras.o locking.o cfgfile.o charset.o logging.o modeminit.o alarm.o

# Uncomment for Windows
# OPTIONS = -D WINDOWS

# Uncomment for Solaris
# OPTIONS = -D SOLARIS

# Uncomment to compile without statistic functions (and without mm library)
# NOSTATS = TRUE

all: ../bin/smsd ../bin/getsms ../bin/putsms

extras.o: extras.c
	gcc $(OPTIONS) -c -o extras.o extras.c

modeminit.o: modeminit.c
	gcc $(OPTIONS) -c -o modeminit.o modeminit.c

stats.o: stats.c
	if [ -z "$(NOSTATS)" ]; then \
	  gcc -c -o stats.o stats.c; \
	else \
	  gcc -D NOSTATS -c -o stats.o stats.c; \
	fi;

../bin/smsd: smsd.c $(OBJ)
	if [ -z "$(NOSTATS)" ]; then \
	  gcc `mm-config --cflags` $(OPTIONS) -o ../bin/smsd smsd.c $(OBJ) `mm-config --ldflags --libs`; \
	else \
	  gcc $(OPTIONS) -D NOSTATS -o ../bin/smsd smsd.c $(OBJ); \
	fi;

../bin/getsms: getsms.c $(OBJ2)
	gcc $(OPTIONS) -o ../bin/getsms getsms.c $(OBJ2)

../bin/putsms: putsms.c $(OBJ2)
	gcc $(OPTIONS) -o ../bin/putsms putsms.c $(OBJ2)

clean:
	rm -f *.o
