Makefile executing another Makefile first?

Login or Register for Dates, Times and to Reply

Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Makefile executing another Makefile first?
# 1  
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?

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #943
Difficulty: Medium
The Smurf attack is a DDOS attack in which large numbers of Internet Control Message Protocol (ICMP) packets with the intended victim's spoofed source IP are broadcast to a computer network using an IP broadcast address.
True or False?

10 More Discussions You Might Find Interesting

1. 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

2. Homework & Coursework Questions

Help with Simple Multi-Level Makefile (Extremely New at Makefile)

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

3. Programming

[Makefile] nothing to be done for 'all'

hello, I have a firts makefile who call others makefile. for this i use: $ make -f linux.mak and output his: $ make -f linux.mak all make -C DerelictAL all PLATFORM=linux make: Entering directory `/home/builder/rpmbuild/SOURCES/derelict2-20100407/DerelictAL' make: Nothing to be done for... (2 Replies)
Discussion started by: bioinfornatics
2 Replies

4. Shell Programming and Scripting


Hi, I have problem related to makefile in c in linux(ubuntu). What is the meaning of @prefix@ what this two @ symbols mean here? Thanks, Vivek (0 Replies)
Discussion started by: vivek146
0 Replies

5. UNIX for Advanced & Expert Users

Makefile problem - How to run module load in a Makefile

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

6. High Performance Computing

help with makefile

I am new to creating makefiles. I have several fortran programs in a folder called as "test" and also have several subroutines in another folder (which is inside this test folder) called as libry My makefile is in the folder "test" I want to create a makefile which can access the files in... (2 Replies)
Discussion started by: explorer
2 Replies

7. Programming


I m using SUN Studiuo11 compiler.There is problem while building Makefile. I got error as dmake:fetal error command failed for target plz help me. (7 Replies)
Discussion started by: NamrataGurav
7 Replies

8. 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

9. UNIX for Dummies Questions & Answers


I'm new to the admin world, and I'm trying to install the GNU C Compiler to work on my project. I got the source code, and was able to configure it. Most of the info I've read tells me the next step is to run a command called "make". when I run it, I get a "command not found" message. I've... (4 Replies)
Discussion started by: ECBROWN
4 Replies

10. 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
xmkmf(1X)																 xmkmf(1X)

xmkmf - create a Makefile from an Imakefile SYNOPSIS
xmkmf [-a] [topdir[curdir]] DESCRIPTION
The xmkmf command is the normal way to create a Makefile from an Imakefile shipped with third-party software. When invoked with no arguments in a directory containing an Imakefile, the imake program is run with arguments appropriate for your system (configured into xmkmf when X was built) and generates a Makefile. When invoked with the -a option, xmkmf builds the Makefile in the current directory, and then automatically executes "make Makefiles" (in case there are subdirectories), "make includes", and "make depend" for you. This is the normal way to configure software that is outside the X Consortium build tree. If working inside the X Consortium build tree (unlikely unless you are an X developer, and even then this option is never really used), the topdir argument should be specified as the relative pathname from the current directory to the top of the build tree. Optionally, curdir may be specified as a relative pathname from the top of the build tree to the current directory. It is necessary to supply curdir if the current directory has subdirectories, or the Makefile will not be able to build the subdirectories. If a topdir is given, xmkmf assumes nothing is installed on your system and looks for files in the build tree instead of using the installed versions. SEE ALSO
imake(1X) xmkmf(1X)

Featured Tech Videos