make is a utility that automates the build process by managing dependencies amongst targets.

learn more… | top users | synonyms (1)

48
votes
7answers
29k views

Why can't gcc find libevent when building tmux from source?

I want to install tmux on a machine where I don't have root access. I already compiled libevent and installed it in $HOME/.bin-libevent and now I want to compile tmux, but configure always ends with ...
28
votes
10answers
3k views

Why are programs not distributed in compiled format?

But they give instructions like cd downloaded_program ./configure make install This creates the ELF that is needed, and probably some .so files. Why not put those inside a zip file for download, ...
22
votes
4answers
20k views

What is the purpose of the 'install' command?

I've seen the install command used in a lot of Makefiles, and its existence and usage are kind of confusing. From the manpages, it seems like a knockoff of cp with less features, but I assume it ...
17
votes
4answers
6k views

Why people recommend the -j3 option for make when having a dual-core CPU?

In Gentoo Linux it is possible to set the MAKEOPTS variable in /etc/portage/make.conf to tell make how many jobs it should run in parallel when building packages. Since I have a dual-core CPU, I ...
17
votes
1answer
7k views

What happens in each step of the Linux kernel-building process?

I've read many tutorials about how to build custom kernels and boot Ubuntu using those kernels, and successfully followed the guides and booted custom kernels, but I have no understanding about what ...
15
votes
8answers
18k views

jemalloc and other errors making redis on centos 6.4

I am setting up a new, dedicated, centos 6.4 system with redis. I have installed redis many times, but have never hit this issue (and have never been on centos 6.4 before). cd redis-2.6.16 sudo make ...
14
votes
1answer
33k views

make fatal error: openssl/sha.h: No such file or directory

I'm trying to compile a program that, according to the documentation, requires the "OpenSSL library". I have OpenSSL installed, and it's still giving me the error openssl/sha.h: No such file or ...
14
votes
2answers
17k views

How to include local header files in linux kernel module

Say I have a module mymod with source files as follows: src/mod/mymod.c src/inc/mymod.h I try to include mymod.h as follows #include <mymod.h> My makefile contains EXTRA_CFLAGS= ...
13
votes
2answers
40k views

Where can I find a list of 'make' error codes?

I am trying to compile a program written in Fortran using make (I have a Makefile and, while in the directory containing the Makefile, I type the command $ make target, where "target" is a ...
13
votes
3answers
4k views

Installing from source. How to resolve dependencies without destroying the package manager

I don't consider myself a total noob, but compiling and installing software is a pain and problem I cannot overcome. I just want to run down through my understanding of this process with someone more ...
11
votes
4answers
2k views

What could be causing make to hang when compiling on multiple cores?

Yesterday I was trying to compile the ROOT package from source. Since I was compiling it on a 6 core monster machine, I decided to go ahead and build using multiple cores using make -j 6. The ...
9
votes
3answers
9k views

What are .in files?

Sometimes in the sources of projects I see "*.in" files. For example, a bunch of "Makefile.in"s. What are they for and/or what does the ".in" part mean? I assume that this has something to do with ...
9
votes
3answers
1k views

How does make continue compilation?

I know that I can interrupt a make process anytime without having to recompile the entire source tree again. As I know, make only compiles a target if it's not compiled yet, or the source code is ...
9
votes
3answers
6k views

Why do some packages use 'make install' while other use 'sudo make install'

I recently installed LAME encoder on my server to convert wav to mp3 and that worked with './configure, make, make install; I then tried to install OGG encoder and that requires './configure, make, ...
9
votes
4answers
4k views

how can a makefile detect whether a command is available in the local machine?

I began to use org-mode for planning out my tasks in GTD-style system. Putting every org files in a directory of a Dropbox folder, I run emacs to edit / manage these files from three different local ...
9
votes
1answer
15k views

GCC error trying to exec 'cc1'

I was cross-compiling a Linux kernel for my Raspberry Pi on a laptop (running debian 7) (followed the instructions here); but when I start compiling (make ARCH=arm CROSS_COMPILE=${CCPREFIX}), I get ...
8
votes
1answer
5k views

How to build a custom kernel with localmodconfig that support hardware of multiple machines?

When configuring a server to run a single task, like an appliance, there might rise the need to build a custom kernel. For example to save disk space. Ubuntu Core 13.10 amd64 root filesystem is a ...
8
votes
3answers
18k views

How do I change which version of Qt is used for qmake?

I feel like there should be a simple way of doing this, but my googlefu is failing so I'd really appreciate some info on how to switch (or even permanently change) which version of Qt is used when ...
8
votes
1answer
375 views

Are there any CheckInstall side effects or should I use it every time?

I'm using Ubuntu at work and Slackware at home. Today at work I have downloaded some suspicious program from our company repository that was supposed to automate some repetitive tasks. I installed ...
7
votes
4answers
2k views

Compare two kernel config files from the menuconfig perspective?

I have a situation in which i have two kernel config files (for the same kernel source ). Both of them have a part of the functionality that i need (on one, USB works correctly, on other, the second ...
7
votes
1answer
139 views

How should man pages be installed?

When distributing a custom utility I'll typically write a makefile that installs binaries to /usr/local by default PREFIX ?= /usr/local MANPREFIX ?= ${PREFIX}/man install: install utility ...
7
votes
4answers
170 views

How can I get gmake to give me a list of all included makefiles?

I've inherited a major mess of a makefile network that was itself inherited from another project, with makefiles included all over the place. I'm trying to make a simple change without gutting the ...
6
votes
2answers
1k views

Git commit from within a Makefile

I have a Makefile for a Latex project I'm working on. Makefiles aren't my forte, but is there a way to do something like: make git "My comment" And have the makefile execute: git commit -m "My ...
6
votes
4answers
314 views

How to send stderr to stdout with a pipe to another command?

I'm trying to capture all of the output of a build operation, and send it to myprogram. I seem to only be able to capture part of it. This is what I'm trying: make clean && make ...
6
votes
3answers
17k views

Difference between “make install” and “sudo make install”

Sometimes I encounter problems with using make install which gives me a permission denied error when writing to some folders. So instinctively I use sudo make install. Will this introduce additional ...
6
votes
1answer
1k views

Install dwb browser

I try to install dwb on debian wheezy. There is a package but the version is old and I would like a newer version. The version in wheezy does not provide dwbem, suddenly I can not install flaskblock ...
6
votes
3answers
8k views

Don't stop make'ing if a command fails, but check exit status

I am trying to instruct GNU Make 3.81 to not stop if a command fails (so I prefix the command with -) but I also want to check the exit status on the next command and print a more informative message. ...
6
votes
2answers
2k views

How to buld with MAKE and only --silent output on screen, but get full output to log file

How can I redirect output from MAKE i such a way that I get only --silent output to screen, but full MAKE-output to a log file? Or can this be achieved through some sdout/stderr redirection magic?
6
votes
1answer
37 views

How to display dependencies given in a makefile as a tree?

Problem I want to see the dependencies for one or more targets of a makefile. So I am looking for a program that can parse makefiles and then will represent the dependencies in some tree-like format ...
5
votes
4answers
20k views

Adding directory to PATH through Makefile

I'm having some trouble in exporting the PATH I've modified inside the Makefile into the current Terminal. I'm trying to add to the PATH, the bin folder inside wherever the Makefile directory is. ...
5
votes
2answers
7k views

“No target” error using Make

I'm learning how to use make and makefiles, so I wrote this little file: %.markdown: %.html pandoc -o $< $@ But when I run make, all I get is make: *** No targets. Stop. What's going on? ...
5
votes
2answers
1k views

Forcing GNU make to run commands in order

With the following Makefile, GNU make runs the two commands in parallel. Since the first one takes time to finish, rm *.log is run before the log file is created, and fails. dummy.pdf: dummy.tex ...
5
votes
2answers
5k views

Why current directory doesn't change in makefile?

I'm trying to run a simple script- clone a git repository into a certain directory, then cd to this directory in order to execute an installation script. This script is in a Makefile. But the cd ...
5
votes
1answer
1k views

Why does diff fail when invoked from a Makefile?

Narrow-down of a patch problem I am trying to troubleshoot: Only two files, each with a size of 1 byte: file a (containing 'a') file b (containing 'b') and Goal is to make and then apply a patch ...
5
votes
1answer
503 views

How to list all targets in make?

Let's say you have a project structure with lots of Makefiles and there is a top level Makefile that includes all the other. How can you list all the possible targets? I know writing make and ...
5
votes
1answer
453 views

Strange behavior automating with “make -f”

I have a set of directories, some of which contain makefiles, and some of the makefiles have clean targets. In the parent directory, I have a simple script: #!/bin/bash for f in *; do if [[ ...
5
votes
3answers
7k views

Cannot Compile Apache: “Error, SSL/TLS libraries were missing or unusable”

Arch Linux 2011.08.19 (Linux 3.4.2 i686) Apache 2.2.22 → 2.2.22 (recompile & reinstall) OpenSSL 1.0.1.c-1 These details are likely irrelevant, but: I’m using yaourt with customizepkg to build ...
5
votes
1answer
144 views

What Did Users Do or Use Before the Make Command?

I use Gentoo as my primary home Desktop OS. I have since ~2004. I appreciate the emerge command for managing a source based OS as well as it does. Every now and then I check on other distributions, ...
5
votes
2answers
994 views

Replace one line with STDIN in a Makefile

One Makefile target is supposed to be in charge of: grabbing the output of $ perl Markdown.pl src/index.md (markdown to html) using that string to replace one line, something like CONTENT ...
5
votes
3answers
364 views

Use shell's “*” glob, but exclude one file and don't match directories?

I've got a makefile rule that builds a zip/tarbar for distribution. In the recipe, it does some "value added" things, like ensure CR/LF's are correct, and ensures execute bits are correct before ...
5
votes
1answer
201 views

What does “make install” do in the Makefile that comes with the kernel?

I'm trying to identify what does make install do with the kernel and what does the actual "install" of the kernel once it's been compiled means. The problem is I can't really identify the target ...
5
votes
2answers
381 views

What are the reasons for each line in Makefile to be executed in a separate shell?

Each command in Makefile is executed by a separate shell. What is the reason for this? Why commands aren't executed as in a regular script? I am aware that it is possible to use one shell using ...
5
votes
1answer
4k views

Why can't ld find this library?

I'm not very knowledgeable on this topic, and therefore can't figure out why the following command does not work: $ gfortran -o dsimpletest -O dsimpletest.o ../lib/libdmumps.a \ ...
5
votes
1answer
2k views

Build Transmission 2.84 .deb package with checkinstall

I'm trying to compile and make by myself some .deb packages to keep my Raspbian more up to date than the repository. Now I want to update Transmission to v 2.84. Here's what I've done: Download the ...
4
votes
4answers
170 views

Make mistakenly thinks rule succeeded because of 0-sized file generated by output redirect

In a makefile, I have several rules that look like this: out.txt: foo.sh input.txt ./foo.sh -i input.txt > out.txt If foo.sh fails, then out.txt will be created as a 0-sized file. If I run ...
4
votes
3answers
2k views

What is a subshell (in the context of the documentation of make)?

I'm reading a book about the make command and there is a paragraph: If any of the prerequisites has an associated rule, make attempts to update those first. Next, the target file is considered. ...
4
votes
3answers
3k views

Checking environment variables' value in Makefile

I have a Makefile target, in which I have to check the value of an environment variable. But, I don't get the exact syntax of it. Tried hard, but can't find it. Any help is appreciated. Environment ...
4
votes
2answers
310 views

Which shell is used in GNU Make files?

I've seen things like echo, mv, if, for, in makefile rules. Some kind of shell commands seem to be recognized. Is this bash? How can I figure out which shell is being used and full list of keywords ...
4
votes
2answers
2k views

Compiler cannot find header file, do I add the directory to PATH?

I am trying to work with gtk which is located at /usr/include/gtk-3.0/gtk/ .., but all of the header files in the toolkit have #include <gtk/gtk.h>. Aside from adding /usr/local/gtk-3.0 to ...
4
votes
2answers
738 views

File function in makefile takes args prefixed by '@' symbol

This code excerpt is from Chapter 8.6 of GNU makefile manual. What does @$@.in for file function arg in a makefile mean? and why are shell commands like rm prefixed by '@' symbol program: $(OBJECTS) ...