タグ付けされた質問 「makefile」

makefileは、ビルドコントロール言語/ツールmakeの入力ファイルです。ターゲットと依存関係、およびターゲットを更新するために実行する関連コマンド(別名レシピ)を指定します。




10
makefile:4:***セパレータがありません。やめる
これは私のメイクファイルです: all:ll ll:ll.c gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $< clean : \rm -fr ll make cleanまたはをしようとするとmake make、次のエラーが発生します。 :makefile:4: *** missing separator. Stop. どうすれば修正できますか?
474 c  makefile 


11
「make install」の反対は何ですか、すなわちLinuxでライブラリをどのようにアンインストールしますか?
実行中 ./configure --prefix=/mingw 以前に実行したライブラリのMinGW / MSYSシステム './configure --prefix=/mingw && make && make install' 私はこのメッセージに出くわしました: 警告:VampプラグインSDKのバージョンがすでにインストールされています。最初に古いバージョンを削除せずに新しいバージョンをインストールする場合は、心配と悲しみを期待してください。(続く) これは私を心配させました。「make install」の反対は何ですか、すなわち、ライブラリはどのようにLinuxでアンインストールされますか?'make clean'は仕事をしますか、それとも他のステップが含まれますか?

14
Mac OS Xで*論理*コアの数を見つける方法は?
Mac OS Xを実行しているときに、コマンドラインから、マシンにコアがいくつあるかをどのように確認できますか?Linuxでは、次のように使用します。 x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo) 完璧ではありませんが、近いです。これはにフィードすることを目的としているためmake、実際の数よりも1多い結果が得られます。上記のコードはPerlでより高密度に記述できること、またはgrep、wc、cutを使用して記述できることは知っていますが、上記は簡潔さと読みやすさのトレードオフであると判断しました。 非常に遅い編集:明確にするために:使用可能な論理コアの数を求めmakeています。これは、生成する同時ジョブの数に対応するためです。jkpの答えは、Chris Lloydによってさらに洗練されており、まさに私が必要としていたものでした。YMMV。
382 macos  makefile 

16
gcc makefileエラー:「ターゲットを作成するルールがありません...」
プロジェクトをコンパイルするためにメイクファイルでGCC(linux)を使用しようとしています。 このコンテキストでは解読できないように見える次のエラーが表示されます。 "No rule to make target 'vertex.cpp', needed by 'vertex.o'. Stop." これはメイクファイルです: a.out: vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o g++ vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o main.o: main.cpp main.h g++ -c main.cpp vertex.o: vertex.cpp vertex.h g++ -c vertex.cpp edge.o: edge.cpp edge.h g++ -c num.cpp vlist.o: vlist.cpp vlist.h …
356 gcc  makefile 


13
「make run」に引数を渡す
私はMakefileを使用しています。 私はと呼ばれるターゲット持っているrunビルドターゲットを実行します。簡略化すると、次のようになります。 prog: .... ... run: prog ./prog 引数を渡す方法はありますか?そのため make run asdf --> ./prog asdf make run the dog kicked the cat --> ./prog the dog kicked the cat ありがとう!
354 makefile 


7
SIMPLE C ++ Makefileの作成方法
Makefileを使用してプロジェクトのすべてをまとめる必要がありますが、教授はその方法を教えてくれませんでした。 ファイルは1つだけですa3driver.cpp。ドライバーは、場所からクラスをインポートし"/user/cse232/Examples/example32.sequence.cpp"ます。 それでおしまい。その他はすべてに含まれてい.cppます。 と呼ばれる実行可能ファイルを作成する単純なMakefileを作成するにはどうすればよいa3a.exeですか?
303 c++  makefile 


7
make / GCCにコマンドを表示させるにはどうすればよいですか?
コンパイルの問題をデバッグしようとしていますが、GCC(またはmakeか? これが私が見ている出力です: CCLD libvirt_parthelper libvirt_parthelper-parthelper.o: In function `main': /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:102: undefined reference to `ped_device_get' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:116: undefined reference to `ped_disk_new' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:122: undefined reference to `ped_disk_next_partition' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition' /root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition' collect2: ld returned 1 exit status make[3]: *** [libvirt_parthelper] Error 1 私が見たいものはこれに似ているはずです: $ make gcc -Wall -c …
277 gcc  makefile  verbosity 

13
OS検出メイクファイル
私は、Mac OS X、Linux、Solarisなど、いくつかの異なるコンピューターといくつかの異なるオペレーティングシステムで日常的に作業しています。私が取り組んでいるプロジェクトでは、リモートのgitリポジトリからコードを取得します。 ターミナルに関係なく、プロジェクトに取り組みたいと思っています。これまでのところ、コンピュータを切り替えるたびにメイクファイルを変更することで、OSの変更を回避する方法を見つけました。しかし、これは退屈で、頭痛の種を引き起こします。 makefileを変更して、使用しているOSを検出し、それに応じて構文を変更する方法を教えてください。 ここにmakefileがあります: cc = gcc -g CC = g++ -g yacc=$(YACC) lex=$(FLEX) all: assembler assembler: y.tab.o lex.yy.o $(CC) -o assembler y.tab.o lex.yy.o -ll -l y assembler.o: assembler.c $(cc) -o assembler.o assembler.c y.tab.o: assem.y $(yacc) -d assem.y $(CC) -c y.tab.c lex.yy.o: assem.l $(lex) assem.l $(cc) -c lex.yy.c …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.