make

cmake and parallel building with "make -jN"

Hi all, I'm trying to setup a parallel CMake-based build for my source tree, but when I issue $ cmake . $ make -j2 I get a jobserver unavailable: using -j1. Add '+' to parent make rule warning. Does anyone have an idea if it is possible to fix it somehow? ...

Graphing the DAG generated by make?

My understanding is that when make executes, it generates a DAG internally to represent all the dependencies in the project. Is there a way to get at that DAG and graph it, say using something like graphviz? I'm using gnu make on Ubuntu 8.04. EDIT I just ran across these tools called mamdag and mamdot. They're supposed to work wit...

Make GNU make use a different compiler

How can I make GNU Make use a different compiler without manually editing the makefile? ...

pretty print makefiles

The linux kernel (and various other projects including git) have very nice makefiles that hide the giant cc calls into nice little acronyms. For example: gcc -O2 -o cool.o cool.c -llib gcc -O2 -o neat.o neat.c -llib would become: CC cool.c CC neat.c Which is really nice if you have a project with a large number of files and long c...

Issue with Visual C++ 2010 (Express) External Tools command

I posted this on SuperUser...but I was hoping the pros here at SO might have a good idea about how to fix this as well.... Normally we develop in VS 2005 Pro, but I wanted to give VS 2010 a spin. We have custom build tools based off of GNU make tools that are called when creating an executable. This is the error that I see whenever I c...

Generate multiple target using single action/rule

How do I write a rule to generate set of files using a single action. Example: Files x, y, z are generated as a result of single execution of script t.sh which takes file a as input. x y z: a t.sh $@ GNU make tries to execute t.sh 3 times. ...

Simple change results in make: Error 1

Had this: rtable.insert ( pair<string,string>(destination,nhop) ); // route insertion return 0; Changed it to this: if (rtable.insert ( pair<string,string>(destination,nhop)) == 0){ return 0; } First one compiles fine. Second one gives me a make error 1. I can go back and forth all day -- I can't see any issues. Any ideas? ...

QtOpenCl make errors. Please help.

So I downloaded the ATI Stream SDK. I don't have a gpu now so I use the '-device cpu' and got the programs/examples in the OpenCl directory working by adding the directory to LD_LIBRARY_PATH etc. Now the problem is when installing QtOpenCl. configure script gives me: skkard@skkard-desktop:~/Applications/qt-labs-opencl$ ./configure Th...

What's best value for make -j

Hi, What's the best value of -j switch? I usually set this up to the number of CPU/Cores available. Thanks. ...

Default rules in Make

Is there a mechanism in make to allow for default global implicit rules that are available anywhere, similar to the built-in rules? Make provides some built-inimplicit rules for compiling C/C++/Fortran files, without even requiring a Makefile for simple cases. However, when compiling other languages (e.g. Go programming language files)...

How to write different implicit rules for different file names for GNU Make

Hi! I have a directory in which I keep adding different C++ source files, and generic Makefile to compile them. This is the content of the Makefile: .PHONY: all clean CXXFLAGS = -pipe -Wall -Wextra -Weffc++ -pedantic -ggdb SRCS = $(wildcard *.cxx) OBJS = $(patsubst %.cxx,%.out,$(SRCS)) all: $(OBJS) clean: rm -fv $(OBJS) %.out:...

GNU Makefile: multiple outputs from single rule + preventing intermediate files from being deleted

This is sort of a continuation of question from here. The problem is that there is a rule generating multiple outputs from a single input, and the command is time-consuming so we would prefer to avoid recomputation. Now there is an additional twist, that we want to keep files from being deleted as intermediate files, and rules involve wi...

Managing complex Make-based project tree in Eclipse

I have a very complex source tree containing multiple projects for multiple platforms, all managed by several makefiles. The most obvious problem to me is that Eclipse wants .project files at the root of all the project's files. My tree structure is something like this: Makefile (recursively makes foo, bar, baz and biff) arm/ arm/lib/.....

How do I fix the python installer's 'missing dependencies' error?

Background: running ubuntu So I downloaded the python "install from source" tarball. I ran make and got this error message: Python build finished, but the necessary bits to build these modules were not found: _aaa _bbb _ccc ... _jjj _kkk I google'd and found one solution is to: MANUALLY map all the string names from the error me...

Installing Python 3.1.2 from source, how do you resolve the sqlite3-dev dependency?

Running ubuntu 9.04 "jaunty". When I run make I get the following error: Python build finished, but the necessary bits to build these modules were not found: _sqlite3 So the easy solution is to just install the missing dependency using apt-get, "sudo apt-get -f install libsqlite3-dev" but I get the following error: The following...

List goals/targets in GNU make

I have a fairly large makefile that creates a number of targets on the fly by computing names from variables. (eg foo$(VAR) : $(PREREQS)). Is there any way that gnu make can be convinced to spit out a list of targets after it has expanded these variables? I'd like to be able to get the targets for an aribitrary makefile. I'm trying to...

Makefile generic pattern rule -- xyzzy-en_US.ext2 from xyzzy.ext0

I can't figure out a way to define a generic pattern rule for the following kind of production with make: require xyzzy-en_US.ext2 from xyzzy.ext0 via xyzzy.ext1. This works: all: xyzzy-en_US.ext2 # to be compiled from xyzzy.ext0 %.ext1 : %.ext0 # produce xyzzy.ext1 %-en_US.ext2 : %.ext1 # produce xyzzy-en_US.ext2 But how to g...

Building a specific piece of Android platform?

Hi, I have been trying to build only the "/libcore" directory of the Android platform. When I try mmm libcore I end up with the following output: ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=2.1-update1 TARGET_PRODUCT=generic TARGET_BUILD_VARIANT=eng TARGET_SIMULATOR=false TARGET_BUILD_TY...

How can CMake be used to generate Makefiles with personalized commands?

I like to keep my Makefiles flexible and multifunctional. One of the tasks I usually add to make command is tar, for example the following instruction does the job: tar: tar -cvf $(PROGNAME).tar $(SRCS) Makefile My question is: How can CMake be used to generate personalized commands like tar? I would like to see some code samples....

What is the difference between a linker and a makefile?

a linker receives obj's and lib's to create exe's or other libs. But so does a makefile(but it can start from sources on top of that). what is the difference between the two? ...