2014-12-30 163 views
0

我有问题,这个Makefile总是告诉我mknod的“T0”操作不允许mknod的操作不允许

all: tx es_mux demux 
    mknod T0 p 
    mknod T1 p 
    mknod T2 p 
    mknod T3 p 
    mknod T4 p 
    mknod T5 p 
    mknod T6 p 
    mknod T7 p 
    mknod T8 p 
    mknod T9 p 

tx: 
    gcc -Wall tx.c -o tx 

es_mux: 
    gcc -Wall es_mux.c -o es_mux 

demux: 
    gcc -Wall demux.c -o demux 

clean: 
    rm -f tx 
    rm -f demux 
    rm -f es_mux 
    rm -f T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 

我运行的虚拟机上的MBP相似之处。

回答

1

您是否有权限在当前工作目录上执行此操作? mknod通常意味着现在创建命名管道。 IT也可以创建字符特殊文件或在/ dev目录中找到的文件。为什么你需要这些管 - 如果这是他们应该是什么? 我看不出为什么这些是你的makefile需要的。 gcc不需要它们。

(无论如何,请考虑管道的mkfifo):