

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		= ../SmbServer/DgrServer.h 				\
			  ../SmbServer/NameDb.h					\
			  ../SmbServer/NetBios.h				\
			  ../SmbServer/NetBiosDebug.h			\
			  ../SmbServer/NmbInclude.h				\
			  ../SmbServer/NmbServer.h				\
			  ../SmbServer/Smb.h					\
			  ../SmbServer/SmbMisc.h				\
			  ../SmbServer/SmbCrypt.h				\
			  ../SmbServer/SmbInclude.h				\
			  ../SmbServer/SmbInline.h				\
			  ../SmbServer/SmbLanman.h				\
			  ../SmbServer/SmbServer.h				\
			  ../SmbServer/SmbUtility.h				\
			  ../SmbServer/System/System.h			\
			  ../SmbServer/System/BitUtility.h		\
			  ../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: ../SmbServer/System/SocketUtility.cpp	$(HEADERS)
	$(CC) $(CPPFLAGS) ../SmbServer/System/SocketUtility.cpp -o $@

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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





