彩世界开奖app官网-彩世界平台官方网址(彩票平台)
做最好的网站
来自 彩世界开奖app官网 2019-12-06 21:48 的文章
当前位置: 彩世界开奖app官网 > 彩世界开奖app官网 > 正文

Error:Makefile:452: target 'config' given mo

 

譬喻,你在代码里面供给定义叁个宏DEBUG来展开调试按键,代码如下:

彩世界开奖app官网 1

%config: scripts_basic outputmakefile FORCE
[ychq@ICM3-2 net]$ make CFLAG=-DDEBUG 

gcc -g -Wall -DDEBUG a.c 

a.c: In function `main': 

a.c:9: warning: implicit declaration of function `printf' [ychq@ICM3-2 net]$

其三步:策动干活搞好后,就足以起来编写翻译进度了。

 

在编写翻译系统的时候,我们日常假诺简单的输入make推行就可以了。但有的时候,大家照旧供给让make命令带入一些参数给makefile脚本。

3、在/kernel/sys.c中加多该系统调用完成的功能:

修改后

此刻,假设想打开DEBUG宏,大家能够这么输入make命令:

5.装置内核。把make all 生成的vmlinuz和System.map复制到/boot目录下同期改进grub /boot/grub/menu.lst.

Makefile:452: target 'config' given more than once in the same ruleMakefile:452: *** mixed implicit and normal rules: deprecated syntax

 

平时的话,那些宏定义能够透过一直改正源代码举行,但像这种类型名扬四海不是很好的办法。别的贰个主意是经过makefile改良,举个例子:

make xconfig

config %config: scripts_basic outputmakefile FORCE

假若更进一层,连makefile都不想改良,大家能够透过向make命令传递参数来开展,为此,大家须要适度的修正makefile如下:

make install

在解压的 linux2.6.15 文件夹下 make menuconfig 的时候现身上面包车型客车谬误:

int main()
      {
          int i=9;
      #ifdef DEBUG
          i=1;
      #else
          i=0;
      #endif
          printf("i=%dn", i);
          return 0;
      }

linux-2.6.36/arch/x86/boot/bzImage。

 

CFLAGS=CFLAG

CFLAGS =-g -Wall -DDEBUG 

object=myprog

all:$object

myprog:a.c 

gcc ${CFLAGS} a.c -o ${object}

四选生龙活虎,作者编写翻译的时候选的oldconfig, 内核配置或然相比较费力的,www.linuxidc.com本人又不是太懂, 就平素接纳旧配置。

那是因为本人的类其他 make 工具版本较新,make 的旧版准则已经不能够同盟新版。根据以下办法,难题得到消除,用 vi 张开Makefile 文件,改良第 452 行: 
修改前:

更进一层的,大家得以由此传递分裂的参数给make,让make编写翻译差异的模块。

asmlinkage int sys_mycall(int argc){

CFLAGS=-g -Wall -DDEBUG 

object=myprog

all:$object

myprog:a.c 

gcc ${CFLAGS} a.c -o ${object}

make dep。

小编们能够窥见,DEBUG宏已经被科学的传遍。

1.进来基本功文件下

(将旧的资料去除掉),make bzImage(早先编写翻译宗旨),make modules(起先编写翻译模块)

cd linux-2.6.36
2.配置

make bzImage。然后正是初步长久的编写翻译进程了,最后到底生成bzImage。所在文件的不二诀窍会有提示,如自个儿的是

先是表达:小编系统本来内核是2.6.33版本,笔者编写翻译的是2.6.36版本

先是步:下载内核源代码。小编下载的是linux-2.6.36。然后解压到/usr/src下。

}

make menuconfig

3.编写翻译。2.6.36业已经是极高的版本了,所以举办make all,就一定于:make dep(建构相依的性格关系),make clean

只是在2.6.27本子里不能够在entry.S中改)

make all

在Fedora 13里编译内核(linux-2.6.36) 增多系统调用

其次步:改革多少个公文。因为是流行的2.6.36本子,超级多文件名有细微差异。

make modules_install

make oldconfig

return argc;

make clear。

 

6:重启,步向新水源,写测验程序。

1、在arch/x86/kernel/syscall_table_32.S中添加:.long sys_mysyscall(当然也可以在syscall_table_64.S中修改

make mrproper

2、在arch/x86/include/asm/unistd_32.h中添加:#define __NR_mysyscall 341(那一个和方面同样,它同期有unistd.h 卡塔尔(英语:State of Qatar)

改进menu.lst是活动完结的啊!!不用手动校正。

4.装置模块。安装模块到/lib/modules/,现在程序运维时从这些目录加载模块。

unistd_32.h , unistd_64.h多少个公文)

make modules

make config

本文由彩世界开奖app官网发布于彩世界开奖app官网,转载请注明出处:Error:Makefile:452: target 'config' given mo

关键词: