07-20-2010
Makefile executing another Makefile first?
I have 2 libraries in 2 different directories that I build with Makefiles.
library B depends on library A. If I modify a .cpp file in library A and run lib B's Makefile can I have B's makefile to automatically rebuild library A?
I am now rebuilding A, followed by B... but I'd like B to rebuild A automatically if it needs rebuilding. This is a streamlined example, but my real situation is
more complicated. I'd like the makefile for the final application to cause all
dependent libraries to build, if necessary so that I don't have to manually build them in the correct order.
I've tried "include ../A/Makefile" in B's Makefile, but I get errors. I think its because the directory doesn't change to ../A
Makefile:81: warning: overriding commands for target `all'
../A/Makefile:78: warning: ignoring old commands for target `all'
Makefile:98: warning: overriding commands for target `clean'
../A/Makefile:99: warning: ignoring old commands for target `clean'
make: *** No rule to make target `tinystr.o', needed by `A.a'. Stop.
Does anyone know how to make this work?
William
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Can anyone tell me what does ?= do
example
VARIABLE ?= /somepath
This is being used in makefile (1 Reply)
Discussion started by: raagbansal
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I've searched for makefile in Google and read the pages and tried, but can't seem to understand or get the results as shown in the examples. Can someone help on this?
i normally compile my c files like this
gcc sampleFile.c -o sampleFile
how do I use makefile now instead? (4 Replies)
Discussion started by: scmay
4 Replies
3. Programming
Hi,
What I want to do is for make to reconstruct the target even if its dependencies have not changed. So, even if if the dependent files do not have a more recent timestamp, the commands are executed.
The reason I want to do this..
1)someone executes make on solaris. We have a solaris... (4 Replies)
Discussion started by: tantric
4 Replies
4. UNIX for Advanced & Expert Users
Hi, I'm trying to run the module load command in a Makefile and i'm getting the following error:
make: module: command not found
Why is this? Is there any way to run this command in a Makefile?
NOTE: command - module load msjava/sunjdk/1.5.0 works fine outside of the Makefile (2 Replies)
Discussion started by: hernandinho
2 Replies
5. Shell Programming and Scripting
Hi friends,
I have a problem with compiling makefile.While i am compiling makefile it always compiles 1 or 2 files inside that makefile even if nothing is changed in those files.If none of the changes are made in those file while compiling the makefile it should output like "file is upto date",... (0 Replies)
Discussion started by: s.sen1213
0 Replies
6. Programming
I've copied a C++ project from my old computer to this one, and I am now trying to (without success) compile the project in the same way as I did before. I use Emacs as a text editor and compile with g++. Here is what my makefile looks like:
CC=g++
CPPFLAGS=-Wall
CPPFLAGS+=-I..... (4 Replies)
Discussion started by: TriKri
4 Replies
7. Programming
Hi all,
I'm new to make files . I'm writing a make file to compile and create .so files. i've 20 .cpp files. I want to compile one file at a time and then i've to create 1 .so for each file that i compiled.
for eg:
list.mk is having all the 20 .spp files.
name = a.cpp
name =+... (2 Replies)
Discussion started by: vij_krr
2 Replies
8. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Basically, the prompt is make a makefile with various sub makefiles in their respective subdirectories. All code... (1 Reply)
Discussion started by: Tatl
1 Replies
9. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
I have been trying to make the program swap but i have been getting errors with the makefile such as
driver.o:... (1 Reply)
Discussion started by: mgyeah
1 Replies
10. UNIX for Dummies Questions & Answers
Hey everybody,
This may be stup*d question for you, but i am new in unix and i wonder how can i make the rules for translating and linking my .c "primjer1.c", "primjer2.c" and "primjer3.c" in makefile.
Thank you. (7 Replies)
Discussion started by: jskako
7 Replies
LEARN ABOUT V7
dh_auto_install
DH_AUTO_INSTALL(1) Debhelper DH_AUTO_INSTALL(1)
NAME
dh_auto_install - automatically runs make install or similar
SYNOPSIS
dh_auto_install [buildsystemoptions] [debhelperoptions] [--params]
DESCRIPTION
dh_auto_install is a debhelper program that tries to automatically install built files. It does so by running the appropriate command for
the build system it detects the package uses. For example, if there's a Makefile and it contains a install target, then this is done by
running make (or MAKE, if the environment variable is set). If there is a setup.py or Build.PL, it is used. Note that the Ant build system
does not support installation, so dh_auto_install will not install files built using Ant.
Unless --destdir option is specified, the files are installed into debian/package/ if there is only one binary package. In the multiple
binary package case, the files are instead installed into debian/tmp/, and should be moved from there to the appropriate package build
directory using dh_install(1).
DESTDIR is used to tell make where to install the files. If the Makefile was generated by MakeMaker from a Makefile.PL, it will
automatically set PREFIX=/usr too, since such Makefiles need that.
This is intended to work for about 90% of packages. If it doesn't work, or tries to use the wrong install target, you're encouraged to skip
using dh_auto_install at all, and just run make install manually.
OPTIONS
See "BUILD SYSTEM OPTIONS" in debhelper(7) for a list of common build system selection and control options.
--destdir=directory
Install files into the specified directory. If this option is not specified, destination directory is determined automatically as
described in the "DESCRIPTION" section.
-- params
Pass params to the program that is run, after the parameters that dh_auto_install usually passes.
SEE ALSO
debhelper(7)
This program is a part of debhelper.
AUTHOR
Joey Hess <joeyh@debian.org>
11.1.6ubuntu2 2018-05-10 DH_AUTO_INSTALL(1)