📄 makefile
字号:
# *******************************************************************# * Copyright (c) 1994-1998 Jetico, Inc., Finland# * All rights reserved.# *# * File: driver/Makefile# *# * Description: makefile# *# * Scope: BestCrypt pseudo-device driver# *# * Platforms: Linux# * # * Author: Nail R. Kaipov# *# * Created: 10-Nov-1998# *# * Revision: # *# *******************************************************************/unexport CFLAGSunexport LDFLAGSCC = gccLD = ldMAKE = makeGENKSYMS = /sbin/genksymsCC_VER = $(shell gcc -dumpversion)CC_KER = $(shell cat /proc/version | sed 's/\(.*\)\(gcc version\ \)\([[:alnum:][:punct:]]*\)\(.*\)/\3/g')ifeq (,$(findstring $(CC_VER), $(shell cat /proc/version)))$(warning Warning! your compiler version ($(CC_VER)) does not match kernel compiler version ($(CC_KER)))endif#ifneq ($(CC_VER),$(CC_KER))#$(warning Warning! your compiler version ($(CC_VER)) does not match kernel compiler version ($(CC_KER)))#endifCUR_DIR = $(shell pwd)ARCH = $(shell uname -m | sed -e s/i.86/i386/)CFLAGS = -c -D__KERNEL__ -DMODULE KVER = $(shell uname -r | sed 's/\(.\..\).*/\1/')OBJS = bc_dev22.oKEXT = o######################################################################## Linux 2.2.x #######################################################################ifeq ($(KVER), 2.2)KERNEL_DIR = /usr/src/linuxSYMSRC = bc_dev22.cendif######################################################################## Linux 2.3.x #######################################################################ifeq ($(KVER), 2.3)KERNEL_DIR = /usr/src/linuxSYMSRC = bc_dev22.cendif######################################################################## Linux 2.4.x #######################################################################ifeq ($(KVER), 2.4)KERNEL_DIR = /lib/modules/$(shell uname -r)/buildOBJS = bc_dev24.oSYMSRC = bc_dev24.cCFLAGS += $(shell $(CC) -I$(KERNEL_DIR)/include/ -c test_nice.c -o /dev/null 2>/dev/null && echo "-D_NICE_PRESENT_")CFLAGS += $(shell $(CC) -I$(KERNEL_DIR)/include/ -c test_gendisk.c -o /dev/null 2>/dev/null && echo "-D_GENDISK_OLD_")endif######################################################################## Linux 2.5.x is not supported#######################################################################ifeq ($(KVER), 2.5)$(error Error! BestCrypt for Linux won't work on 2.5.x kernels. Good luck.)endif######################################################################## Linux 2.6.x #######################################################################ifeq ($(KVER), 2.6)KERNEL_TMP = /lib/modules/$(shell uname -r)ifeq ($(shell [ -e $(KERNEL_TMP)/source ] && echo "123"), 123)KERNEL_DIR=$(KERNEL_TMP)/sourceelseKERNEL_DIR=$(KERNEL_TMP)/buildendif#KERNEL_DIR = /lib/modules/$(shell uname -r)/buildOBJS = bc_dev26.oifeq ($(shell $(CC) -I$(KERNEL_DIR)/include/ -c test_2_6_16.c -o /dev/null 2>/dev/null && echo "123"), 123)KBDEF = -DKBUILD_BASENAME=BestCrypt -DKBUILD_MODNAME=bcK2616 = noelseKBDEF = -DKBUILD_BASENAME=\"BestCrypt\" -DKBUILD_MODNAME=\"bc\" -D_KBUILD_QUOTESK2616 = yesendifCFLAGS += -I$(KERNEL_DIR)/include/asm/mach-default/ #CFLAGS += $(shell $(CC) -I$(KERNEL_DIR)/include/ -I$(KERNEL_DIR)/include/asm/mach-default/ -c test_blkdev_put.c -o /dev/null 2>/dev/null && echo "-D_BLKDEV_2_")CFLAGS += $(shell $(CC) -I$(KERNEL_DIR)/include/ -I$(KERNEL_DIR)/include/asm/mach-default/ -c test_this_module.c -o /dev/null 2>/dev/null && echo "-D_NEED_THIS_MODULE")CFLAGS += $(shell $(CC) -I$(KERNEL_DIR)/include/ -I$(KERNEL_DIR)/include/asm/mach-default/ -c test_regparm.c -o /dev/null 2>/dev/null && echo "-mregparm=3")KEXT = koendifCFLAGS += -I$(CUR_DIR)/../include/ -I$(KERNEL_DIR)/include/ifeq ($(ARCH), alpha)CFLAGS += -O2 -pipe -fno-strict-aliasing -fno-common -mno-fp-regs -ffixed-8 -mcpu=ev5elseifeq ($(ARCH), x86_64)CFLAGS += -O2 -fno-strength-reduce -fno-strict-aliasing -mcmodel=kernelelseCFLAGS += -O6 -fno-strength-reduce -fno-strict-aliasing endifendifLDFLAGS = -d -rSUBDIRS = gost blowfish twofish des bf128 bf448 cast idea 3des rijnOBJS += bc_mgr.oTARGET = bc.$(KEXT)all: $(TARGET) subdirs $(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $(TARGET) $(OBJS) cp -f $(TARGET) ../binsubdirs: set -e; for i in $(SUBDIRS); do \ $(MAKE) -C $$i KERNEL_DIR=$(KERNEL_DIR) CFLAGS="$(CFLAGS)" MODNAME=bc_$$i K2616=$(K2616) TARGET=bc_$$i.$(KEXT) ; \ donerun_depmod: depmod -a; synccleansubdirs: set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; doneclean: cleansubdirs rm -f *.o *.ko *.ver *~ mkvermkver: mkver.c $(CC) -I$(KERNEL_DIR)/include -o $@ $<bc_dev.ver: $(SYMSRC) mkver touch $@ ; $(CC) -I$(KERNEL_DIR)/include/ -E $(SYMSRC) $(shell ./mkver) > $@# dependenciesbc_cfg.h: Makefilebc_dev22.o: bc_cfg.h bc_mgr.h bc_dev22.c bc_dev.h bc_dev.ver Makefile $(CC) $(CFLAGS) -o $*.o $*.cbc_dev24.o: bc_cfg.h bc_mgr.h bc_dev24.c bc_dev.h bc_dev.ver test_nice.c test_gendisk.c Makefile $(CC) $(CFLAGS) -o $*.o $*.cbc_dev26.o: bc_cfg.h bc_mgr.h bc_dev26.c bc_dev.h Makefile $(CC) $(CFLAGS) $(KBDEF) -o $*.o $*.cbc_mgr.o: bc_cfg.h bc_mgr.h Makefile $(CC) $(CFLAGS) $(KBDEF) -o $*.o $*.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -