📄 makefile
字号:
# 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 + -