You execute "make" with the arguments "foo" "." "make" and "$(EXE)".
The first error is from the shell, because "$(EXE)" means run command "EXE" in a subshell and put its output here. The shell thinks that the rest of the command depends on what EXE might output and therefor execute it first - as there is no "EXE, this fails.
Next, "make" is executed and takes the argument: "foo". For "foo" exists a target to make and "make" does try to make it but notices that it has already done so and in the meantime "foo" hasn't changed - so it tells you that "foo" is already up to date. Next make tries to "make .". As "." is the current directory and there is no rule in your makefile describing how to make "." "make" tells you so. Finally it tries to make "make", which would be (like ".") a perfectly valid target to make - IF it would exist in your makefile. As it doesn't, "make" tells you the same as with ".": it can't make it, because you haven't told it how.
But instead of writing a long-winded make-exegesis, i could probably tell you what you need to know, so: what exactly do you want to achieve? Have you ever used a makefile and know its purposes? Its syntax?
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)
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)
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... (0 Replies)
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)
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)
I'm really confused how to use a makefile.
Are you supposed to be make a file from emacs called MakeFile and put code in there to compile?
I am trying to create a makefile to compile two .cpp files in my current directory to produce two .o files and then link them...
What I did was make a... (1 Reply)
Dear all,
I have a quite simple question about how to manipulate "makefile.am". I intend to:
1. "CFLAGS" and "CXXFLAGS" have no value at all. I know that these values get "-g -O2" by default. On the other hand, when I try to set them as "CFLAGS = " in "makefile.am", I get warning messages... (4 Replies)
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)
Hi All,
We have moved our OS from Sun Solaris to Linux and also some of the compilers.
Our old makefile used to be as below:
CC=cc
FLAGS=-G -KPIC -DLG_SOLARIS_OS
DEFINES=-DSunOS
SYSLIBS=-lc
.SUFFIXES : .c
.c.o : ;$(CC) -c $(FLAGS) $(DEFINES) $*.c -o $*.o
... (3 Replies)
Discussion started by: shash
3 Replies
LEARN ABOUT REDHAT
aimk
AIMK(1PVM) PVM Version 3.4 AIMK(1PVM)NAME
aimk - Portable make wrapper script
SYNOPSIS
aimk [ -here ] [ make arguments ]
DESCRIPTION
aimk is a wrapper program for make, used to portably select options to build PVM and PVM applications on various machines. Each port of
PVM is assigned an architecture name. The name is used both during compilation (to conditionally switch in code) and at runtime (to select
an executable or host).
aimk uses the value of environment variable $PVM_ARCH if it is set, otherwise it calls $PVM_ROOT/pvmgetarch to determine the architecture
name. pvmgetarch is a script that sniffs at various parts of the system to determine the correct architecture name. It is updated as new
PVM ports are defined, and can be augmented locally.
aimk determines the machine architecture and execs make, passing it the architecture and a configuration file along with arguments supplied
to aimk. It runs make in a subdirectory to prevent executables from becoming intermixed and to permit overlapping compiles. A different
makefile can be placed in each subdirectory or a single makefile, Makefile.aimk, can be shared between architectures. Per-architecture
definitions from the $PVM_ROOT/conf directory are appended to the common makefile. aimk calls make is called in one of three ways, depend-
ing on what makefiles are present:
i. If $PVM_ARCH/Makefile or $PVM_ARCH/makefile exists, change directory to $PVM_ARCH and exec make there:
(cd $PVM_ARCH ; make PVM_ARCH=$PVM_ARCH < aimk args >)
ii. Else if Makefile.aimk exists, create $PVM_ARCH directory if it doesn't exist, then:
(cd $PVM_ARCH ;
make -f $PVM_ROOT/conf/$PVM_ARCH.def
-f ../Makefile.aimk PVM_ARCH=$PVM_ARCH < aimk args >)
iii. Else just exec make in current directory:
make PVM_ARCH=$PVM_ARCH < aimk args >
If aimk succeeds in calling make, the exit status is that of make, otherwise it is 1.
FLAGS -here Forces aimk to run make in the current directory, e.g. converts case i. to case iii.
EXAMPLES
The following Makefile.aimk file builds and installs hello, creating the PVM binary directory if it doesn't exist. It can be run concur-
rently on machines of different types, sharing the same source directory.
LDIR = -L$(PVM_ROOT)/lib/$(PVM_ARCH)
PVMLIB = -lpvm3
SDIR = ..
BDIR = $(HOME)/pvm3/bin
XDIR = $(BDIR)/$(PVM_ARCH)
CFLAGS = -g -I$(PVM_ROOT)/include
LIBS = $(LDIR) $(PVMLIB) $(ARCHLIB)
$(XDIR):
- mkdir $(BDIR) $(XDIR)
hello: $(SDIR)/hello.c $(XDIR)
$(CC) $(CFLAGS) -o $@ $(SDIR)/$@.c $(LIBS)
mv $@ $(XDIR)
ENVIRONMENT
$PVM_ROOT Root path of PVM installation.
$PVM_ARCH PVM architecture name for machine.
FILES
$PVM_ROOT/lib/aimk The aimk program
$PVM_ROOT/conf/$PVM_ARCH.def Arch config file
SEE ALSO pvm_intro(1PVM)
02 May, 1994 AIMK(1PVM)