Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Help running a Makefile from within a .sh script? Post 303005278 by cherryTango on Monday 16th of October 2017 01:05:04 PM
Old 10-16-2017
Okay, so after playing around with it I have changed the way the Makefile is created to:
Code:
populateMFiles () {
echo '
clean:    
    rm -rf cfile.out
build:    
    gcc -g -Wall -pedantic -Wextra cfile.c -w -o cfile.out
all:    cfile.c
    clean build'
}

There are TABs after clean: build: and all: and there are TABS before rm, gcc and clean. I have also changed the compileRepository method to:
Code:
#Check repository for .c files
#Compile all .c files within the current directory
compileRepository () {
    tput cup $[$lineCount] 5 ; echo "============================================================"
    if [ -f $currentPath/*Makefile* ]; then # Detect makefiles in repository and allow user to use if desired
        tput cup $[1+$lineCount] 5 ; echo "Is there an existing make file within the repository" 
        tput cup $[2+$lineCount] 5 ; echo "you would like to use? (y/n) "
        read useMakefile
        if [[ $useMakefile == Y || $useMakefile == y ]]; then 
            cd $currentPath/
            make
            exit

So it will just attempt to make it - then exit. This leaves the output on the screen which was an error message until I removed the 'all' from the make command. Now it outputs:
Code:
rm -rf cfile.out

Which is the code in the clean function of the Makefile. Have I set up my Makefile incorrectly do you think?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

makefile sh script

Hello World ! ! ! I need libraries to use grib files. I only know the C language at the moment and I am working at the University under Red Hat 9.0. I downloaded the g2clib library (the best that I found) but I did not success to run the makefile. Here is the original file. I modified some... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies

2. Shell Programming and Scripting

embeding shell script in makefile

Hi I am new to shell scripting and makefile. I want a command's output in makefile to process further, can anyone plz suggest me a way ? I want ls -d *.dsm output in a variable and want to process it in makefile itself. It's urgent Thanks In advance (0 Replies)
Discussion started by: madhu12345
0 Replies

3. Shell Programming and Scripting

shell script in makefile

Hi, Can we execute a shell script by makefile. I mean we will write a shell script in a make file and it will be executed when we compile the C++ program using make file. (2 Replies)
Discussion started by: surjyap
2 Replies

4. Shell Programming and Scripting

Shell script makefile

Is there a way to write a makefile for all the source files in a directory with a shell script? (2 Replies)
Discussion started by: zzhan
2 Replies

5. UNIX for Dummies Questions & Answers

error while running a makefile

any good website to know about makefiles (3 Replies)
Discussion started by: raviravula
3 Replies

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

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

8. Shell Programming and Scripting

using a Shell Script in a Makefile

Hello, I have a Makefile that converts wrl (vrml) files to html files... how can I use a shell script in that makefile which works on all html files after converting? The Shell Script have to find and replace a String in every createt html file. sorry I'm a Newbie, so I hope someone can... (0 Replies)
Discussion started by: Dan_78
0 Replies

9. Shell Programming and Scripting

Need help with a script to make makefile

How do we create a shell script that creates a makefile? what if we want to use the #include header files too? (2 Replies)
Discussion started by: sslokhan
2 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
caspar-typesetting(7)						  MISCELLANEOUS 					     caspar-typesetting(7)

  NAME
      caspar-typesetting - Makefile snippets for common typesetting tasks

  SYNOPSIS
      In a Makefile, write

	include caspar/mk/docbook.mk

      or

	include caspar/mk/pod.mk

      .

  DESCRIPTION
      The  caspar  docbook.mk  and pod.mk files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see [3]), DocBook XML,
      DocBook SGML (see [2]) and POD (see [1]) documents.  You just have to type make, instead of stuff  like  jade  -t  tex  -d  caspar/print.dsl
      /usr/share/sgml/declaration/xml.dcl foobar.dbx.

  USAGE
      In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do

	 $ echo include caspar/mk/docbook.mk > Makefile

	 $ vi karenina.dbx
	 $ make karenina.view
	 $ make karenina.print

	 $ vi svejk.tex
	 $ make svejk.view
	 $ make svejk.print

	 $ make
	 $ make clean

      Other targets: filename.ps, filename.pdf, filename.2ps, filename.html, filename.printbig, filename.dvi.

      Variables  you  might  like  to  set  in	your  Makefile:  XMLDCL (default is /usr/share/sgml/declaration/xml.dcl; if you're not on a Debian
      GNU/Linux system, you'll likely have to adjust this), HTML_DSL, PRINT_DSL.

      In a directory where you maintain .pod files, do

	 $ echo include caspar/mk/pod.mk > Makefile
	 $ vi lire.pod
	 $ perldoc ./lire.pod
	 $ make lire.pdf
	 $ make
	 $ less lire.overstrike-txt
	 $ make clean

      Other targets: filename.ps, filename.html, filename.txt, ...  (Similar to the ones supplied by docbook.mk).

  EXAMPLES
      Some examples: Overriding the caspar-supplied DSSSL files: Create your own print.dls and html.dsl, in the same directory as your Docbook XML
      files. Your Makefile should read:

       PRINT_DSL = print.dsl
       HTML_DSL = html.dsl
       include caspar/mk/docbook.mk

      Overriding the standard html-to-text convertor:

       $ W3M=lynx make svejk.txt

      .

  FILES
      caspar/mk/docbook.mk, caspar/mk/pod.mk

  ENVIRONMENT
      For  docbook.mk: files: XMLDCL, HTML_DSL, PRINT_DSL; utilities: JADE, PDFJADETEX, PDFLATEX, JADETEX, LATEX, W3M, DVIPS, PSNUP, LPR, GV; set-
      tings: JADE_MAXERRORS. These variables can get adjusted in Makefile, as well as in the shell environment.

      pod.mk Uses no environment variables.

  AUTHOR
      Joost van Baal-Ili

  SEE ALSO
      caspar(7) [1] perlpod(1) about Perl's Plain Old Documentation format

      [2] DocBook: The Definitive Guide on http://docbook.org/,

      [3] The LaTeX Project Homepage on http://www.latex-project.org/.

      Some comments on advanced usage are in the files docbook.mk and pod.mk itself.

  caspar-typesetting 20120508					      8 mai 2012					       caspar-typesetting(7)
All times are GMT -4. The time now is 10:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy