Sponsored Content
Full Discussion: problem with Makefile
Top Forums UNIX for Advanced & Expert Users problem with Makefile Post 27027 by Perderabo on Tuesday 27th of August 2002 09:01:32 AM
Old 08-27-2002
qanta, if you have difficulty posting, you can edit your post. But also, I think you missed what he wants to do.

sskb, the crux of your problem is that you are using a rule named "ProcessA" to make a file called "pro1". You need to name the rule after the file that it will create. The name of a rule is called a "target" for a reason. You can use secondary rules to create "aliases" if you really want to. And, qanta has a point about the first rule. You should always tary to ensure that just using the command "make" will try to do the most useful thing.

Here is my makefile that I think addresses all of this. And as qanta points out, what I will type as spaces should be just a tab character.
Code:
default: ProcessC

ProcessA: pro1
ProcessB: pro2
ProcessC: pro3

pro1:
       @echo making pro1
       touch pro1

pro2: pro1
       @echo making pro2
       touch pro2

pro3: pro2
       @echo making pro3
       touch pro3

 

10 More Discussions You Might Find Interesting

1. Programming

Problem with a Makefile

Hi, I am very new with makefile topics , maybe this is a very symple question... I have this code wich compile very good ( I get it from the net), I will call it code A. I have to add it with a program that is all ready in use, (code B) that also compile good. When I put together it doesnt... (7 Replies)
Discussion started by: pmoren
7 Replies

2. Programming

Problem with makefile

My make file is CFLAGS = -Wall -g LDFLAGS = -lm CC = g++ all: server client rc4.o: rc4.cpp rc4.h ${CC} ${CFLAGS} -c rc4.cpp server.o: server.cpp rc4.h ${CC} ${CFLAGS} -c .cpp client.o: client.cpp rc4.h ${CC} ${CFLAGS} -c client.cpp server: server.o... (2 Replies)
Discussion started by: neerajgoyal12
2 Replies

3. Programming

Simple Makefile Problem (with a dependency)

Hi all, I have 4 '.cpp' files and 1 header files: Tools.cpp Code1.cpp Code2.cpp Code3.cpp and Tools.hh Now all Code1.cpp, Code2.cpp, Code3.cpp use functions stored in Tools.cpp. Currently, what I do to compile all of them is using this simple shell script: (1 Reply)
Discussion started by: monkfan
1 Replies

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

5. Programming

please help me with this big makefile problem

I need to create an executable with these two makefiles(they both have libaries i need(qt and ruby)) i have extconf.rb gui.ui gui_include.h main.cpp ScaleIM_client.rb ui_gui.h i want to combine them all into one executable please!... (2 Replies)
Discussion started by: gjgfuj
2 Replies

6. Programming

Problem with Makefile

Hi, Here is my makefile http://pastie.org/1104332. I am trying to compile different .c files and .s files (assembly files) from different sub directories into E:/em35x/build/mfg-sample-app-cortexm3-iar-em357-em3xx-dev0680/ then the linker should link all the .o files from the build directory... (1 Reply)
Discussion started by: blade2008
1 Replies

7. Programming

Noob makefile problem

Im trying to build a makefile for the first time in many years and Im coming to a screaching halt on something that should be child's play; just compiling two files. Here is an excerpt of the make file. (using GMAKE on a TI compiler) CCHP = <<compiler>> PROJ_DIR = . APP_DIR ... (2 Replies)
Discussion started by: DrNismo
2 Replies

8. Emergency UNIX and Linux Support

Problem With Makefile

I had created a Makefile for my project. my project file hierarchy is like this: 1. a source folder with main.c and Makefile in it 2. and a top level Makefile here is the Makefile in src folder all: program program: main.c gcc -o program main.c clean: rm programand here is top... (3 Replies)
Discussion started by: majid.merkava
3 Replies

9. Programming

Problem creating a makefile

hello, I'm trying to create a makefile to run multiple c files. I am able to run one c file only with the code I have when I tried to run 2 or more c files I'm not able. here is my code # $Source: /home/hectormasencio/make/Makefile,v $ # $Date: 2012/11/27 11:35:30 $ CC= gcc OBJS= temp.o... (3 Replies)
Discussion started by: Hector M.
3 Replies

10. Programming

Problem running a makefile

I have written this makefile and am getting an error saying make nfd gfortran -O -Wall -fbacktrace -fno-align-commons -c -o fd.o fd.f fd.f:49: Error: Can't open included file 'fd.par' make: *** Error 1 The directory structure is as follows . ├── library │ ├── fd │ │ ├──... (3 Replies)
Discussion started by: kristinu
3 Replies
MAKE(1) 						      General Commands Manual							   MAKE(1)

NAME
make - maintain program groups SYNOPSIS
make [ -f makefile ] [ option ] ... file ... DESCRIPTION
Make executes commands in makefile to update one or more target names. Name is typically a program. If no -f option is present, `make- file' and `Makefile' are tried in order. If makefile is `-', the standard input is taken. More than one -f option may appear Make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist. Makefile contains a sequence of entries that specify dependencies. The first line of an entry is a blank-separated list of targets, then a colon, then a list of prerequisite files. Text following a semicolon, and all following lines that begin with a tab, are shell commands to be executed to update the target. Sharp and newline surround comments. The following makefile says that `pgm' depends on two files `a.o' and `b.o', and that they in turn depend on `.c' files and a common file `incl'. pgm: a.o b.o cc a.o b.o -lm -o pgm a.o: incl a.c cc -c a.c b.o: incl b.c cc -c b.c Makefile entries of the form string1 = string2 are macro definitions. Subsequent appearances of $(string1) are replaced by string2. If string1 is a single character, the parentheses are optional. Make infers prerequisites for files for which makefile gives no construction commands. For example, a `.c' file may be inferred as prereq- uisite for a `.o' file and be compiled to produce the `.o' file. Thus the preceding example can be done more briefly: pgm: a.o b.o cc a.o b.o -lm -o pgm a.o b.o: incl Prerequisites are inferred according to selected suffixes listed as the `prerequisites' for the special name `.SUFFIXES'; multiple lists accumulate; an empty list clears what came before. Order is significant; the first possible name for which both a file and a rule as described in the next paragraph exist is inferred. The default list is .SUFFIXES: .out .o .c .e .r .f .y .l .s The rule to create a file with suffix s2 that depends on a similarly named file with suffix s1 is specified as an entry for the `target' s1s2. In such an entry, the special macro $* stands for the target name with suffix deleted, $@ for the full target name, $< for the com- plete list of prerequisites, and $? for the list of prerequisites that are out of date. For example, a rule for making optimized `.o' files from `.c' files is .c.o: ; cc -c -O -o $@ $*.c Certain macros are used by the default inference rules to communicate optional arguments to any resulting compilations. In particular, `CFLAGS' is used for cc and f77(1) options, `LFLAGS' and `YFLAGS' for lex and yacc(1) options. Command lines are executed one at a time, each by its own shell. A line is printed when it is executed unless the special target `.SILENT' is in makefile, or the first character of the command is `@'. Commands returning nonzero status (see intro(1)) cause make to terminate unless the special target `.IGNORE' is in makefile or the command begins with <tab><hyphen>. Interrupt and quit cause the target to be deleted unless the target depends on the special name `.PRECIOUS'. Other options: -i Equivalent to the special entry `.IGNORE:'. -k When a command returns nonzero status, abandon work on the current entry, but continue on branches that do not depend on the current entry. -n Trace and print, but do not execute the commands needed to update the targets. -t Touch, i.e. update the modified date of targets, without executing any commands. -r Equivalent to an initial special entry `.SUFFIXES:' with no list. -s Equivalent to the special entry `.SILENT:'. FILES
makefile, Makefile SEE ALSO
sh(1), touch(1) S. I. Feldman Make - A Program for Maintaining Computer Programs BUGS
Some commands return nonzero status inappropriately. Use -i to overcome the difficulty. Commands that are directly executed by the shell, notably cd(1), are ineffectual across newlines in make. MAKE(1)
All times are GMT -4. The time now is 01:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy