⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 一个3des算法的库文件和使用库文件的例子
💻
字号:
# MAKEFILE FOR MICROSOFT VISUAL C++
DRIVE     = D:\MSDEV
SRC       = .
BIN       = $(DRIVE)\BIN
LIB       = $(DRIVE)\LIB
INC       = $(DRIVE)\INCLUDE
OS        = win32_vc
#
CC        = $(BIN)\CL
RC        = $(BIN)\RC
LINK      = $(BIN)\LINK
#
CFLAGS    = /nologo /G5 /W3 /O2 /Ox /D "NDEBUG" -I$(INC) -I$(SRC)
#
DEFS      = -DWIN32  -DASM
#
ALGO      = des3
CIPHER    = cipher
TESTVK    = testvk
TESTVT    = testvt
BENCH     = bench
TEST      = test
DIFF      = cmp
RM        = del
#
ALIBS     = $(LIB)\LIBC.LIB $(ALGO).LIB
DLIBS     = $(LIB)\LIBCMT.LIB
#
LINKA     = $(LINK) $(ALIBS) /NOLOGO /NOENTRY /RELEASE /SUBSYSTEM:CONSOLE /MACHINE:I386
#
all: $(TESTVK) $(TESTVT) $(CIPHER) $(BENCH) $(TEST)
#

$(TESTVK): $@.obj $(ALGO).lib
	@echo Building $@
	@$(LINKA) /DEF:$(SRC)\$@.def /OUT:$@.exe $@.obj

$(TESTVK).obj:  $(SRC)\$(TESTVK).c  $(SRC)\$(ALGO).h
	@$(CC) $(CFLAGS) $(DEFS) /Fo$@ /c $(SRC)\$(TESTVK).c

$(TESTVT): $(TESTVT).obj $(ALGO).lib
	@echo Building $@
	@$(LINKA) /DEF:$(SRC)\$@.def /OUT:$@.exe $@.obj

$(TESTVT).obj:  $(SRC)\$(TESTVT).c  $(SRC)\$(ALGO).h
	@$(CC) $(CFLAGS) $(DEFS) /Fo$@ /c $(SRC)\$(TESTVT).c

$(BENCH): $@.obj $(ALGO).lib
	@echo Building $@
	@$(LINKA) /DEF:$(SRC)\$@.def /OUT:$@.exe $@.obj

$(BENCH).obj: $(SRC)\$(BENCH).c $(SRC)\$(ALGO).h
	@$(CC) $(CFLAGS) $(DEFS) /Fo$@ /c $(SRC)\$(BENCH).c

$(CIPHER): $@.obj $(ALGO).lib
	@echo Building $@
	@$(LINKA) /DEF:$(SRC)\$@.def /OUT:$@.exe $@.obj

$(CIPHER).obj: $(SRC)\$(CIPHER).c  $(SRC)\$(ALGO).h
	@$(CC) $(CFLAGS) $(DEFS) /Fo$@ /c $(SRC)\$(CIPHER).c

$(TEST): $(CIPHER)
	@echo Testing  $(ALGO)...
	@echo Electronic Code Book (ECB) Mode
	@.\$(CIPHER) -m ecb -k sesam -q $(SRC)\test.txt test.ecb
	@.\$(CIPHER) -d -m ecb -k sesam -q test.ecb test.out
	@$(DIFF) $(SRC)\test.txt test.out
	@$(RM) test.out
	@$(RM) test.ecb
	@echo Cipher Block Chaining (CBC) Mode
	@.\$(CIPHER) -m cbc -k sesam -q $(SRC)\test.txt test.cbc
	@.\$(CIPHER) -d -m cbc -k sesam -q test.cbc test.out
	@$(DIFF) $(SRC)\test.txt test.out
	@$(RM) test.out
	@$(RM) test.cbc
	@echo 8 Bit Output Feedback (OFB) Mode
	@.\$(CIPHER) -m ofb -k sesam -q $(SRC)\test.txt test.ofb
	@.\$(CIPHER) -d -m ofb -k sesam -q test.ofb test.out
	@$(DIFF) $(SRC)\test.txt test.out
	@$(RM) test.out
	@$(RM) test.ofb
	@echo 8 Bit Cipher Feedback (CFB) Mode
	@.\$(CIPHER) -m cfb -k sesam -q $(SRC)\test.txt test.cfb
	@.\$(CIPHER) -d -m cfb -k sesam -q test.cfb test.out
	@$(DIFF) $(SRC)\test.txt test.out
	@$(RM) test.out
	@$(RM) test.cfb
	@echo Build successful :-)

#
clean:
	@if exist *.map $(RM) *.map
	@if exist *.obj $(RM) *.obj
	@if exist *.res $(RM) *.res
	@if exist *.exp $(RM) *.exp
	@if exist *.exe $(RM) *.exe
	@if exist *.zip $(RM) *.zip

zip:
	@zip -X $(ALGO)_$(OS).zip *.*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -