Sponsored Content
Top Forums Programming Makefile for building multiple programs Post 302767093 by kristinu on Thursday 7th of February 2013 11:42:26 AM
Old 02-07-2013
Makefile for building multiple programs

I have the following part of a makefile and want to simplify it
using rules rather than having to code the same two blocks
when I need ti build another program.

An having difficulty doing it

Code:
all: 1dvel2 1dvel 2dvel


#--------------------------------------------------------------------

1dvel2 : 1dvel2.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $(BINDIR)/1dvel2 $(OBJDIR)/1dvel2.o

1dvel2.o : $(MISC_MAINDIR)/1dvel2.f
    $(FCOMPILER) -c $<
    mv *.o $(OBJDIR)

#--------------------------------------------------------------------

1dvel : 1dvel.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $(BINDIR)/1dvel $(OBJDIR)/1dvel.o

1dvel.o : $(MISC_MAINDIR)/1dvel.f
    $(FCOMPILER) -c $<
    mv *.o $(OBJDIR)

#--------------------------------------------------------------------

2dvel : 2dvel.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $(BINDIR)/2dvel $(OBJDIR)/2dvel.o

2dvel.o : $(MISC_MAINDIR)/2dvel.f
    $(FCOMPILER) -c $<
    mv *.o $(OBJDIR)

---------- Post updated at 11:42 AM ---------- Previous update was at 06:52 AM ----------

I am now doing like this. Now the problem in putting the separate executable
targets together

Code:
TARGETS = $(BINDIR)/1dvel2 $(BINDIR)/1dvel $(BINDIR)/2dvel
all: $(TARGETS)

$(BINDIR)/1dvel2 : $(OBJDIR)/1dvel2.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $@ $<

$(BINDIR)/1dvel : $(OBJDIR)/1dvel.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $@ $<

$(BINDIR)/2dvel : $(OBJDIR)/2dvel.o $(MISC_MAINDIR)/ray.par
    $(FCOMPILER) -o $@ $<

#--------------------------------------------------------------------

$(OBJDIR)/%.o : $(MISC_MAINDIR)/%.f
    $(FCOMPILER) -c $<
    mv *.o $(OBJDIR)


Last edited by kristinu; 02-23-2013 at 02:13 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

makefile for programs using libraries loaded at runtime

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

building output file from multiple input files

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

How to change a Makefile from building static library to shared library?

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

epstopdf for multiple files using makefile

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

Multiple script lines into a Makefile

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

makefile head-scratcher: multiple targets in one go

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

Run multiple python programs sequentially.

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

Building programs from separate makefiles

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

Help: Makefile with multiple executables

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

Makefile with multiple executables

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
mlib_VolumeFindMax_U8(3MLIB)				    mediaLib Library Functions				      mlib_VolumeFindMax_U8(3MLIB)

NAME
mlib_VolumeFindMax_U8, mlib_VolumeFindMax_S16 - maximum intensity searching SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_VolumeFindMax_U8(mlib_u8 *max, const mlib_rays *rays); mlib_status mlib_VolumeFindMax_S16(mlib_s16 *max, const mlib_rays *rays); DESCRIPTION
Each function performs maximum intensity searching. It uses the following equation: max[i] = MAX{ rays->results[j][i] j = 0, 1, ..., rays->nsteps[i] } where i = 0, 1, ..., rays->nrays - 1. PARAMETERS
The function takes the following arguments: max Pointer to an array of rays->nrays maximum values of the samples in each ray. rays Pointer to an mlib_rays structure. The data rays->results are organized with ray number (rather than ray step) varying fastest. Ray number and ray step are the output of the ray casting functions. The data might have values beyond the maximum step on a ray. For example, rays->results[rays->nsteps[i]][i] on ray i might not equal 0. RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
mlib_VolumeFindMaxBMask_U8(3MLIB), mlib_VolumeFindMaxCMask_U8(3MLIB), attributes(5) SunOS 5.10 10 Nov 2004 mlib_VolumeFindMax_U8(3MLIB)
All times are GMT -4. The time now is 11:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy