
# remove 'md5' from all in linux

SRCDIR=$(HOME)/usr/src/crp
SAMBA=/usr/local/tmp/samba-2.0.9/source


all: md5 crp

CC=cc
#CC=gcc

MD5=$(SRCDIR)/md5crypt-1.0/crypt_md5.o $(SRCDIR)/md5crypt-1.0/md5.o

######### Select your OS / available methods
#### Linux

#DEFINES=	-DMY_BIGCRYPT -DUSE_BIGCRYPT \
#			-DMY_CRYPT16 -DUSE_CRYPT16
#CFLAGS= -O -I./ufc-crypt $(DEFINES)
#LDFLAGS= 
#LDLIBS=	./ufc-crypt/crypt_util.o ./ufc-crypt/crypt.o -lcrypt 

#### Tru64 5.0

#DEFINES= -DUSE_BIGCRYPT -DUSE_MD5
#CFLAGS= -O $(DEFINES)
#LDFLAGS=
#LDLIBS= $(MD5) -lsecurity

#### HP-UX 9

#DEFINES=-DUSE_MD5 -DMY_CRYPT16 -DUSE_CRYPT16 \
#		-DMY_BIGCRYPT
#CFLAGS= -Aa -D_HPUX_SOURCE -O -I./ufc-crypt $(DEFINES)
#LDFLAGS= -L./ufc-crypt
#LDLIBS= $(MD5) -lufc

#### HP-UX 11

#DEFINES=-DUSE_MD5 -DMY_CRYPT16 -DUSE_CRYPT16
#CFLAGS=	-Ae -O -I./ufc-crypt $(DEFINES)
#LDLIBS= $(MD5) -lufc -lsec

#### Solaris 2.x
#### IRIX 6.2

DEFINES=	-DMY_BIGCRYPT -DUSE_BIGCRYPT \
			-DMY_CRYPT16 -DUSE_CRYPT16 \
			-DUSE_MD5 -DUSE_SMB

CFLAGS= -O -I/usr/local/include -I./md5crypt-1.0 $(DEFINES)
LDFLAGS= -L/usr/local/lib
LDLIBS= -lufc $(MD5)

######### End of OS/options

# copied from $(SAMBA)/Makefile
######################################################################
# object file lists
######################################################################

LIB_OBJ = lib/charcnv.o lib/charset.o lib/debug.o lib/fault.o \
          lib/getsmbpass.o lib/interface.o lib/kanji.o lib/md4.o \
          lib/interfaces.o lib/pidfile.o lib/replace.o \
          lib/signal.o lib/slprintf.o lib/system.o lib/doscalls.o lib/time.o \
      lib/ufc.o lib/genrand.o lib/username.o lib/access.o lib/smbrun.o \
      lib/bitmap.o lib/crc32.o lib/snprintf.o \
      lib/util_str.o lib/util_sid.o \
      lib/util_unistr.o lib/util_file.o \
      lib/util.o lib/util_sock.o lib/util_sec.o smbd/ssl.o lib/fnmatch.o \
      lib/talloc.o lib/hash.o

UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
            ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o

PARAM_OBJ = param/loadparm.o param/params.o

LIBSMB_OBJ = libsmb/clientgen.o libsmb/namequery.o libsmb/nmblib.o \
             libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
             libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
         libsmb/passchange.o

######################################################################

SMB_OBJ = $(LIB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBSMB_OBJ)


# Select this if not using USE_SMB and comment out the crp line below
####.c:
####	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS)

crp: crp.c
	sh -c "\
	cd $(SAMBA) && \
	$(CC) $(CFLAGS) -I$(SAMBA)/smbwrapper -I$(SAMBA)/ubiqx -I$(SAMBA)/include -o $(SRCDIR)/crp $(SRCDIR)/crp.c $(LDFLAGS) $(SMB_OBJ) $(LDLIBS)"

# End of configurable options.
md5: ./md5crypt-1.0/crypt_md5.o ./md5crypt-1.0/md5.o

./md5crypt-1.0/md5.o:
	(cd md5crypt-1.0; make md5.o)

./md5crypt-1.0/crypt_md5.o:
	(cd md5crypt-1.0; make crypt_md5.o)

clean:
	rm -f crp crp.o
	(cd md5crypt-1.0; make clean)

dist:
	gtar -C .. -cpvzf crp-0.0.tgz crp/Makefile crp/README crp/crp.c crp/md5crypt-1.0.patch 
