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

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

7
make:「すべて」に対して何もする必要はありません
私はメイクファイルを作成するために、例えばpgmを通過しています。 http://mrbook.org/tutorials/make/ 私のフォルダeg_make_creationには、次のファイルが含まれています。 desktop:~/eg_make_creation$ ls factorial.c functions.h hello hello.c main.c Makefile Makefile # I am a comment, and I want to say that the variable CC will be # the compiler to use. CC=gcc # Hwy!, I am comment no.2. I want to say that CFLAGS will be the #options …
97 c  makefile 

2
Makefileで複数のインクルードパスを定義する方法
C ++の新機能。インクルード、ライブラリ、およびコンパイルプロセスの基本的な理解。いくつかの単純なmakefileはまだありましたか。 私の現在のプロジェクトでは、informix DB apiを使用しているため、ヘッダーファイルを複数の非標準ディレクトリに含める必要があります。どうやって書くの?ネットで何かを発見したことはありません、おそらく私が良い検索用語を使用しなかったためです これは私が試した方法の1つです(動作しません)。メイクファイルを表示するだけです LIB=-L/usr/informix/lib/c++ INC=-I/usr/informix/incl/c++ /opt/informix/incl/public default: main main: test.cpp gcc -Wall $(LIB) $(INC) -c test.cpp #gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp clean: rm -r test.o make.out
96 c++  include  makefile 

7
WindowsでGNU Makeを使用する方法
追加C:\MinGW\binしPATHたMinGWとMSYSをインストールしましたが、WindowsでMakefileを実行できませんcmd。たとえば、cmd.exeを実行してそこに入力したいのですmake allが、私のcmdにはそのようなコマンドはないと表示されています。 私は何をすべきか?MSYSシェルを使用したくないので、それは重要ではありません。Ubuntuでできるように、Windows cmdでGNU Makeを使用する方法はありますか?私は興味がありませんCygwin。


2
Makefileの?=とは
KDIR ?= $(shell uname -r) の意味は?=何ですか? :=、+=と=Stack Overflowで利用可能な別のスレッドとの違いを理解しましたが、の説明が見つかりません?=。

3
SRC、OBJ、BINサブディレクトリを持つCプロジェクトのMakefileを作成するにはどうすればよいですか?
数か月前、私はMakefile学校の課題のために次のジェネリックを思いつきました。 # ------------------------------------------------ # Generic Makefile # # Author: yanick.rochon@gmail.com # Date : 2010-11-05 # # Changelog : # 0.01 - first version # ------------------------------------------------ # project name (generate executable with this name) TARGET = projectname CC = gcc -std=c99 -c # compiling flags here CFLAGS = -Wall -I. LINKER …
94 c  makefile 

9
変更されたヘッダーファイルを含むソースファイルをMakefileが自動的に再構築する方法を教えてください。(C / C ++の場合)
私が取り組んでいるプログラム(実際にはカーネル)をビルドするために使用する次のmakefileがあります。ゼロから、そして私はプロセスについて学んでいるので、完璧ではありませんが、メイクファイルを書く私のレベルの経験には、現時点で十分強力であると思います。 AS = nasm CC = gcc LD = ld TARGET = core BUILD = build SOURCES = source INCLUDE = include ASM = assembly VPATH = $(SOURCES) CFLAGS = -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions \ -nostdinc -fno-builtin -I $(INCLUDE) ASFLAGS = -f elf #CFILES = core.c consoleio.c system.c CFILES …

5
Makeeq ifeq logicalまたは
makeのifeq演算子を使用して論理ORをどのように実行しますか? たとえば、私は(簡略化した): ifeq ($(GCC_MINOR), 4) CFLAGS += -fno-strict-overflow endif ifeq ($(GCC_MINOR), 5) CFLAGS += -fno-strict-overflow endif しかし、これらのラインを統合したいと思います。 (はい、はい、autotools、configureなど。現在の状況では強すぎます。ここでMakefile内にすべてを保持したいと思います) [この質問の論理的な反対:「ifeq」ステートメントで複数の条件を使用する方法 ]
92 makefile 

6
GNU makeの再帰的なワイルドカード?
使って久しぶりなmakeので我慢して... 私は、ディレクトリを持っているflac.FLACファイルを含みます、。mp3MP3ファイルを含む、対応するディレクトリがあります。FLACファイルが対応するMP3ファイルよりも新しい(または対応するMP3ファイルが存在しない)場合は、一連のコマンドを実行してFLACファイルをMP3ファイルに変換し、タグをコピーします。 キッカー:flacディレクトリを再帰的に検索して、対応するサブディレクトリをディレクトリに作成する必要がありますmp3。ディレクトリとファイルの名前にはスペースを含めることができ、UTF-8で名前が付けられます。 そして、makeこれを駆動するために使用したいと思います。

2
makefileでのエスケープ
私はこれをメイクファイルで行おうとしていますが、ひどく失敗します: M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}') なぜなのかご存知ですか?私はそれが逃げることと関係があると思います、しかし何とどこで?

10
GNU make:ジョブの数はシステムのCPUコアの数と等しくなければなりませんか?
GNU makeのジョブの数がコアの数と等しいと想定されているかどうか、または他のジョブが「動作」している間にキューに入れることができる1つのジョブを追加することでビルド時間を最適化できるかどうかについて、いくつかの論争があるようです。 。 それは良く使用することです-j4か、-j5クアッドコアシステム上で? どちらか一方をサポートするベンチマークを見た(または行った)ことがありますか?

5
Makefileの$ PATHにdirを追加するにはどうすればよいですか?
テストを実行するMakefileを作成したいと思います。テストはディレクトリ './tests'にあり、テストされる実行可能ファイルはディレクトリ './bin'にあります。 テストを実行すると、ディレクトリ./binが$ PATHにないため、execファイルが表示されません。 私がこのようなことをするとき: EXPORT PATH=bin:$PATH make test すべてが機能します。ただし、Makefileの$ PATHを変更する必要があります。 単純なMakefileコンテンツ: test all: PATH=bin:${PATH} @echo $(PATH) x パスを正しく出力しますが、ファイルxが見つかりません。 これを手動で行う場合: $ export PATH=bin:$PATH $ x それならすべてOKです。 Makefileの$ PATHを変更するにはどうすればよいですか?
87 linux  makefile 

9
「システムに「aclocal-1.15」がありません」という警告を克服するにはどうすればよいですか?
githubでc ++プログラムを実行しようとしています。(次のリンクhttps://github.com/mortehu/text-classifierで入手可能) Macを持っていて、ターミナルで実行しようとしています。autoconfとautomakeをダウンロードしたと思いますが、よくわかりません。プログラムを実行するには、ターミナルの正しいフォルダに移動してから実行します ./configure && make しかし、エラーが発生します: 警告:「aclocal-1.15」がシステムにありません。'acinclude.m4'または 'configure.ac'または 'configure.ac'に含まれるm4ファイルを変更した場合にのみ必要です。'aclocal'プログラムはGNUAutomakeパッケージの一部です:http://www.gnu.org/software/automake 実行するには、GNU Autoconf、GNU m4、Perlも必要です:http : //www.gnu.org / software / autoconf http://www.gnu.org/software/m4/ http://www.perl.org/ make:*** [aclocal.m4]エラー127 私はxcodeとg ++、そしてcプログラムを実行するために必要なすべてのものを持っていますが、おそらく明らかなように、私はImが何をしているのかわかりません。 上記のリンクでプログラムを実行する最も簡単で簡単な方法は何ですか?readmeと使用例が付属していることはわかっていますが、それを機能させることはできません。

1
GNU makeの複数の拡張子を持つリスト内の各ファイルの拡張子を変更するにはどうすればよいですか?
GNU makefileでは、ファイルリスト入力を使用して、新しい拡張子でファイルリスト出力を作成できるかどうか疑問に思っています。 入力で、私はこのリストを取得します: FILES_IN=file1.doc file2.xls そして、FILES_IN変数からmakefileにこの変数を作成したいと思います。 FILES_OUT=file1.docx file2.xlsx 出来ますか ?どうやって ? ファイルリストを解析し、各拡張子(.doc、.xls)を検出して、正しい拡張子に置き換える必要があるため、非常に困難です。

12
有望な代替案はありますか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 7年前に閉鎖されました。 この質問を改善する 私は長年makeとmakefileを使用しており、コンセプトは健全ですが、実装には望ましいものがあります。 問題を過度に複雑にしないための良い代替案を誰かが見つけましたか?

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