02-08-2013
Why do you want the following line?
TARGETS = $(BINDIR)/1dvel2 $(BINDIR)/1dvel $(BINDIR)/2dvel
all: $(TARGETS)
Do you wanna create a new executable with these three binaries?
10 More Discussions You Might Find Interesting
1. Programming
Hi everybody!
I would like to set in the makefile a path that should be the path where the program searches for the libraries loaded at run time.
Is there such a variable to be set in makefile?
Thanks in advance! (1 Reply)
Discussion started by: nadiamihu
1 Replies
2. Shell Programming and Scripting
Hi there,
I am trying to figure out a way to combine multiple sources with different data on a single file, and I am trying to find the best way to do it.
I have multiple files, let's say A, B, C and D. A has a field in common with B, B has a field in common with C, and C has a field in... (2 Replies)
Discussion started by: ppucci
2 Replies
3. Shell Programming and Scripting
Hi:
I have a library that it only offers Makefile for building static library. It built libxxx.a file. How do I in any way build a shared library? (either changin the Makefile or direct script or command to build shared library)
Thanks. (1 Reply)
Discussion started by: cpthk
1 Replies
4. UNIX for Dummies Questions & Answers
Greetings!
I'm fairly new to the unix world and I hope someone here can help me with my question. I'm using a Makefile to run a few programs and the final output is several .eps files. However I need them to be .pdf files, so I want to use epstopdf to convert the files.
Since I'm already... (6 Replies)
Discussion started by: wwoord
6 Replies
5. Shell Programming and Scripting
Hi All
I am creating a makefile and I want to do a clean section.
In the clean section I would like to check if the file exists and then delete it.
I always have an error 'unexpected end of file'
What's wrong in it?
Thanks
msntn
firstCpp: first.cpp
g++ -o first first.cpp
clean:
... (1 Reply)
Discussion started by: manustone
1 Replies
6. UNIX for Advanced & Expert Users
Hi!
I've got a build process where scripts create multiple targets from their sources. But here I'm running into a conceptual problem of GNU make: If one has multiple targets in a dependency, make applies the rules once for every target that is out of sync - which is correct for normal... (3 Replies)
Discussion started by: treczoks
3 Replies
7. Shell Programming and Scripting
I HAVE WRITTEN NINE PYTHON CODES TO PERFORM A TASK
........
I WISH TO RUN THEM SEQUENTIALLY.
eg. code1__code2 >>>>>>>>code9.py
TO GET DESIRED OUTPUT.
PLS HELP ME WRITTING SHELL SCRIPT ..
I HAVE TO DISTRIBUTE THESE CODE FOR BEING USED BY OTHERS. (2 Replies)
Discussion started by: upvan111
2 Replies
8. Shell Programming and Scripting
I have several makefiles to build various programs in a software suite (currently 4 programs). I want to create a main Makefile so that I can build everything I need.
Unsure on the way I should proceed, for example using
include fdtc.mk
or calling
$(MAKE) -f ./mk/Makefile nfdtc
Here... (15 Replies)
Discussion started by: kristinu
15 Replies
9. Shell Programming and Scripting
I am trying to create executables for the following files
Currently, I am making 9 different directories for for each. I would like to make 1 directory but everytime I try it does not work.
CROSS_COMPILE?=
# CROSS_COMPILE used to = arm-arago-linux-gnueabi... (1 Reply)
Discussion started by: bpetersen
1 Replies
10. Shell Programming and Scripting
CROSS_COMPILE?=
LIBDIR_APP_LOADER?=../../../../app_loader/lib
INCDIR_APP_LOADER?=../../../../app_loader/include
BINDIR?=../../bin
CFLAGS+= -Wall -I$(INCDIR_APP_LOADER) -D__DEBUG -O2 -mtune=cortex-a8 -march=armv7-a -std=gnu99
LDFLAGS+=-L$(LIBDIR_APP_LOADER) -lprussdrv -lpthread
OBJDIR=obj... (1 Reply)
Discussion started by: bpetersen
1 Replies
LEARN ABOUT DEBIAN
envpath
ENVPATH(1p) User Contributed Perl Documentation ENVPATH(1p)
NAME
envpath - Advanced operations on path variables
SYNOPSIS
Run this script with the "-help" option for usage details.
DESCRIPTION
Parses the command line, modifies the specified path variable(s), and execs the remaining arguments. There are two modes, simple and
advanced:
SIMPLE MODE
Simple mode presents an alternative, platform-independent syntax for specifying paths wherein the path separator is "," and environment
variables can be expanded with @NAME@. For example
envpath PATH=@PATH@,/usr/ucb -- printenv PATH
appends "/usr/ucb" to $PATH and execs printenv PATH. The "--" is optional.
You can also specify prepending or appending by using "+=" or "=+" respectively:
# place /usr/ucb at the front
envpath PATH+=/usr/ucb -- printenv PATH
# place /usr/ucb at the back
envpath PATH=+/usr/ucb -- printenv PATH
Simple mode requires only this script; it does not require Env::Path to be installed.
ADVANCED MODE
Advanced mode basically provides command-line access to the features of Env::Path (see), which must be installed. The "-E" flag selects the
path variable to operate on and other flags specify operations on it. E.g.
envpath -E MANPATH -A /tmp -R /usr/share/man -N -U -- man ...
would take MANPATH, append /tmp to it, remove any references to "/usr/share/man", remove any dirs which don't exist ("-N") and remove
redundant entries ("-U") before running man.
The -Whence option allows patterns. Thus
envpath -W "cat*"
would find all programs on PATH which match cat*.
CLEARCASE WINKINS
A big part of the motivation for this script was for use with ClearCase builds; iff you know or care about ClearCase read on. Typically,
during builds (and not just with ClearCase), pathvars such as PATH, CLASSPATH, and LD_LIBRARY_PATH must be strictly controlled. One choice
is to force static values of these into the environment during the build process, another is to simply require/expect users to set their
paths appropriately. Each of these can lead to subtle build or runtime errors, however, and makes it hard for new users to get up to speed
since their personal environment must be just so.
Another common choice is to use only full pathnames within the Makefile, avoiding reliance on search paths at all. This is often the best
way to go but can suppress ClearCase winkins. For example, say you're generating ascii files of some type with a binary executable you
just built:
$(INCDIR)/foo.h: $(BINDIR)/foomaker $(BINDIR)/foomaker ...
The problem with this is that $(BINDIR) likely contains a platform part such as 'solaris' or 'hpux', which makes it impossible to wink in
the foo.h file on other platforms even though it's ascii. This same thing could come up even with a standard pre-built utility that's in
different places on different platforms; "yacc", for instance, is in /usr/bin on Linux and /usr/ccs/bin on Solaris.
You could modify the path on the fly:
$(INCDIR)/foo.h: $(BINDIR)/foomaker PATH=$(BINDIR)$(SEP)$$PATH foomaker ...
but this suffers from the same problem: since $(BINDIR) and $PATH are expanded literally within the build script they'll suppress winkins.
Here's a solution using envpath:
$(INCDIR)/foo.h: $(BINDIR)/foomaker envpath PATH=@BINDIR@,@PATH@ foomaker ...
This hides the evaluation of BINDIR and PATH such that clearmake never sees anything but the literals, thus clearing the field for winkins.
Of course envpath is capable of doing more than this, but it's the original reason it was written.
AUTHOR
David Boyce <dsbperl AT boyski.com>
COPYRIGHT
Copyright (c) 2000-2001 David Boyce. All rights reserved. This Perl program is free software; you may redistribute and/or modify it under
the same terms as Perl itself.
SEE ALSO
perl(1), "perldoc Env::Path"
perl v5.10.1 2003-10-10 ENVPATH(1p)