121 lines
3.7 KiB
Plaintext
121 lines
3.7 KiB
Plaintext
#****************************************************************************
|
|
#* *
|
|
#* Makefile for the encryption library *
|
|
#* *
|
|
#****************************************************************************
|
|
|
|
CC = dcc -v -c
|
|
|
|
PROJ = crypt
|
|
LIBNAME = $(PROJ).lib
|
|
|
|
# Where object files go (/tmp is a good place)
|
|
OUTPATH = DObjs/
|
|
# Extension for object files
|
|
OBJ = .o
|
|
|
|
# Linker (just use the C compiler)
|
|
LD = dcc -v
|
|
# Echo to screen command
|
|
ECHO = echo
|
|
# The make command
|
|
MAKE = dmake
|
|
|
|
# The object files which make up the library
|
|
|
|
OBJS = $(OUTPATH)crypt$(OBJ) $(OUTPATH)lib_3des$(OBJ) $(OUTPATH)lib_des$(OBJ) $(OUTPATH)lib_idea$(OBJ) $(OUTPATH)lib_mdc$(OBJ) $(OUTPATH)lib_null$(OBJ) $(OUTPATH)lib_rc4$(OBJ) $(OUTPATH)idea$(OBJ) $(OUTPATH)3ecb_enc$(OBJ) $(OUTPATH)ecb_enc$(OBJ) $(OUTPATH)pcbc_enc$(OBJ) $(OUTPATH)set_key$(OBJ) $(OUTPATH)rc4$(OBJ) $(OUTPATH)shs$(OBJ)
|
|
|
|
#****************************************************************************
|
|
#* *
|
|
#* If no args are given, print a usage message and exit *
|
|
#* *
|
|
#****************************************************************************
|
|
|
|
default: $(LIBNAME)
|
|
|
|
love:
|
|
@$(ECHO) "Nicht wahr?"
|
|
@$(ECHO)
|
|
|
|
#****************************************************************************
|
|
#* *
|
|
#* Rules to build the encryption library *
|
|
#* *
|
|
#****************************************************************************
|
|
|
|
# Main directory
|
|
|
|
$(OUTPATH)crypt$(OBJ): crypt.h crypt.c
|
|
$(CC) -o %(left) crypt.c
|
|
|
|
$(OUTPATH)lib_3des$(OBJ): crypt.h libdes/des.h lib_3des.c
|
|
$(CC) -o %(left) lib_3des.c
|
|
|
|
$(OUTPATH)lib_des$(OBJ): crypt.h testdes.h libdes/des.h lib_des.c
|
|
$(CC) -o %(left) lib_des.c
|
|
|
|
$(OUTPATH)lib_idea$(OBJ): crypt.h idea/idea.h testidea.h lib_idea.c
|
|
$(CC) -o %(left) lib_idea.c
|
|
|
|
$(OUTPATH)lib_mdc$(OBJ): crypt.h mdc/shs.h lib_mdc.c
|
|
$(CC) -o %(left) lib_mdc.c
|
|
|
|
$(OUTPATH)lib_null$(OBJ): crypt.h lib_null.c
|
|
$(CC) -o %(left) lib_null.c
|
|
|
|
$(OUTPATH)lib_rc4$(OBJ): crypt.h testrc4.h rc4/rc4.h lib_rc4.c
|
|
$(CC) -o %(left) lib_rc4.c
|
|
|
|
$(OUTPATH)test$(OBJ): crypt.h test.c
|
|
$(CC) -o %(left) test.c
|
|
|
|
# idea subdirectory
|
|
|
|
$(OUTPATH)idea$(OBJ): idea/idea.h idea/idea.c
|
|
$(CC) -o %(left) idea/idea.c
|
|
|
|
# libdes subdirectory
|
|
|
|
$(OUTPATH)3ecb_enc$(OBJ): libdes/des.h libdes/des_locl.h libdes/3ecb_enc.c
|
|
$(CC) -o %(left) libdes/3ecb_enc.c
|
|
|
|
$(OUTPATH)ecb_enc$(OBJ): libdes/des.h libdes/des_locl.h libdes/spr.h libdes/version.h libdes/ecb_enc.c
|
|
$(CC) -o %(left) libdes/ecb_enc.c
|
|
|
|
$(OUTPATH)pcbc_enc$(OBJ): libdes/des.h libdes/des_locl.h libdes/pcbc_enc.c
|
|
$(CC) -o %(left) libdes/pcbc_enc.c
|
|
|
|
$(OUTPATH)set_key$(OBJ): libdes/des.h libdes/des_locl.h libdes/podd.h libdes/sk.h libdes/set_key.c
|
|
$(CC) -o %(left) libdes/set_key.c
|
|
|
|
# rc4 subdirectory
|
|
|
|
$(OUTPATH)rc4$(OBJ): rc4/rc4.h rc4/rc4.c
|
|
$(CC) -o %(left) rc4/rc4.c
|
|
|
|
# mdc subdirectory
|
|
|
|
$(OUTPATH)shs$(OBJ): mdc/shs.h mdc/shs.c
|
|
$(CC) -o %(left) mdc/shs.c
|
|
|
|
# Create the library. The test program is also listed as a dependancy
|
|
# since we need to use OS-specific compiler options for it which a
|
|
# simple 'make test' won't give us (yuck).
|
|
|
|
$(LIBNAME): $(OBJS) $(OUTPATH)test$(OBJ)
|
|
join as $(LIBNAME) $(OBJS)
|
|
|
|
# Link everything into a test program
|
|
|
|
test: $(LIBNAME) $(OUTPATH)test$(OBJ)
|
|
$(LD) -o testcrypt $(OUTPATH)test$(OBJ) -l$(PROJ)
|
|
|
|
#****************************************************************************
|
|
#* *
|
|
#* Cleanup after make has finished *
|
|
#* *
|
|
#****************************************************************************
|
|
|
|
clean:
|
|
delete force #?.o testcrypt $(LIBNAME)
|