

PROGS		= SmbServer.a

OBJS	   := DgrServer.o   	\
			  NameDb.o			\
			  NmbServer.o		\
			  SmbCrypt.o		\
			  SmbLanman.o		\
			  SmbMisc.o			\
			  SmbReply.o		\
			  SmbTrans2.o		\
			  SmbServer.o		\
			  SmbUtility.o		\
			  SmbUtility.o		\
			  SystemLinux.o		\
			  SocketUtility.o	\
			  BitUtility.o		
ifndef USE_OPENSSL
OBJS		+= \
			  ossl_des_enc.o	\
			  ossl_ecb_enc.o	\
			  ossl_md4_dgst.o	\
			  ossl_md4_one.o	\
			  ossl_set_key.o
endif

HEADERS		= ./src/SmbServer/DgrServer.h 				\
			  ./src/SmbServer/NameDb.h					\
			  ./src/SmbServer/NetBios.h				\
			  ./src/SmbServer/NetBiosDebug.h			\
			  ./src/SmbServer/NmbInclude.h				\
			  ./src/SmbServer/NmbServer.h				\
			  ./src/SmbServer/Smb.h					\
			  ./src/SmbServer/SmbMisc.h				\
			  ./src/SmbServer/SmbCrypt.h				\
			  ./src/SmbServer/SmbInclude.h				\
			  ./src/SmbServer/SmbInline.h				\
			  ./src/SmbServer/SmbLanman.h				\
			  ./src/SmbServer/SmbServer.h				\
			  ./src/SmbServer/SmbUtility.h				\
			  ./src/SmbServer/System/System.h			\
			  ./src/SmbServer/System/BitUtility.h		\
			  ./src/SmbServer/System/SocketUtility.h


WARN		= -Wfatal-errors -Wformat -Wformat-y2k -Wformat-nonliteral	\
			  -Winit-self -Wimplicit  -Wformat-security					\
			  -Wreturn-type -Wunused-function -Wunused-label 			\
			  -Wunused-variable -Wunused-value -Wuninitialized 			\
			  -Wundef -Wpointer-arith

CFLAGS   	= -c -g -O $(WARN) -I ./SmbCrypt
CPPFLAGS   := -c -g -O $(WARN) -I ./SmbCrypt
ifdef USE_OPENSSL
CPPFLAGS 	+= -DUSE_OPENSSL=1
endif
ARFLAGS 	= -rv


.PHONY: all
all:	$(PROGS)

.PHONY: clean
clean:
	rm -f $(PROGS) *.o


#--------------- Create object file s -----------

SocketUtility.o: ./src/SmbServer/System/SocketUtility.cpp	$(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/System/SocketUtility.cpp -o $@

SystemLinux.o: ./src/SmbServer/System/SystemLinux.cpp	$(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/System/SystemLinux.cpp -o $@

BitUtility.o: ./src/SmbServer/System/BitUtility.cpp	$(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/System/BitUtility.cpp -o $@

DgrServer.o: ./src/SmbServer/DgrServer.cpp	$(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/DgrServer.cpp -o $@

NameDb.o: ./src/SmbServer/NameDb.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/NameDb.cpp -o $@

NmbServer.o: ./src/SmbServer/NmbServer.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/NmbServer.cpp -o $@

SmbCrypt.o: ./src/SmbServer/SmbCrypt.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbCrypt.cpp -o $@

SmbMisc.o: ./src/SmbServer/SmbMisc.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbMisc.cpp -o $@

SmbLanman.o: ./src/SmbServer/SmbLanman.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbLanman.cpp -o $@

SmbReply.o: ./src/SmbServer/SmbReply.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbReply.cpp -o $@

SmbTrans2.o: ./src/SmbServer/SmbTrans2.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbTrans2.cpp -o $@

SmbServer.o: ./src/SmbServer/SmbServer.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbServer.cpp -o $@

SmbUtility.o: ./src/SmbServer/SmbUtility.cpp $(HEADERS)
	$(CC) $(CPPFLAGS) ./src/SmbServer/SmbUtility.cpp -o $@

ifndef USE_OPENSSL
ossl_des_enc.o: ./src/SmbServer/SmbCrypt/ossl_des_enc.c
	$(CC) $(CFLAGS) $^ -o $@

ossl_ecb_enc.o: ./src/SmbServer/SmbCrypt/ossl_ecb_enc.c
	$(CC) $(CFLAGS) $^ -o $@

ossl_md4_dgst.o: ./src/SmbServer/SmbCrypt/ossl_md4_dgst.c
	$(CC) $(CFLAGS) $^ -o $@

ossl_md4_one.o: ./src/SmbServer/SmbCrypt/ossl_md4_one.c
	$(CC) $(CFLAGS) $^ -o $@

ossl_set_key.o: ./src/SmbServer/SmbCrypt/ossl_set_key.c
	$(CC) $(CFLAGS) $^ -o $@
endif

#--------------- Create library -----------------

$(PROGS): $(OBJS)
	$(AR) $(ARFLAGS) $@ $^





