Sponsored Content
Top Forums Programming Makefile instructions to create directories (CentOS7 , GNU Make 3.82) Post 303043481 by LMHmedchem on Wednesday 29th of January 2020 12:37:43 PM
Old 01-29-2020
Quote:
Originally Posted by disedorgue
Another error that maybe explain why not work when to declare archdir before TESTDIR :
Code:
TESTDIR := ./test/$(OS)_$(KERN).$(ARCH)_$(CNAME)_$(FNAME)_$(ver)

So I wasn't expanding the components variables of TESTDIR correctly? I guess I should have at least noticed the TESTDIR was not being assigned using the same operator as BDIR.

I have tried now to use a similar method to copy files into the newly created directories and am having more issues. It seems to me as if the following code,
Code:
# create name for test directory
TESTDIR = ./test/$(OS)_$(KERN).$(ARCH)_$(CNAME)_$(FNAME)_$(ver)
# mkdir if the directory does not exist
${TESTDIR}:
    @mkdir -p ${TESTDIR}

overwrites the original value of TESTDIR which is,

./test/$(OS)_$(KERN).$(ARCH)_$(CNAME)_$(FNAME)_$(ver)

with the mkdir instruction such that if you printed ${TESTDIR} after the
second assignment, it would print,

mkdir -p ./test/$(OS)_$(KERN).$(ARCH)_$(CNAME)_$(FNAME)_$(ver)

with the variables such as $(OS) expanded. This would mean that you could no longer use $(TESTDIR) to refer to the location that was originally assigned.

Is this true or am I not understanding how this is working?

LMHmedchem
 

10 More Discussions You Might Find Interesting

1. Programming

about create Makefile

hello! i want to create a Makefile on the freebsd 4.5,so i vi the hello.c #include int main(int argc, char** argv) { printf(''Hello, GNU!\n''); return 0; } #autoscan #cp configure.scan configure.in #vi configure.in modify:AC_OUTPUT AC_OUTPUT(Makefile) #aclocal #autoconf... (0 Replies)
Discussion started by: mzp
0 Replies

2. UNIX for Dummies Questions & Answers

make and clean in a single rule in the makefile.

Hi, This stems from the following thread https://www.unix.com/showthread.php?t=18299 I have a makefile which makes either executables or a shared library. i.e. make -f unix.mak will create the executables and make -f unix.mak libolsv will create the shared library. Since these have to be... (4 Replies)
Discussion started by: vino
4 Replies

3. Shell Programming and Scripting

check if multiple directories exist else create missing directories

Hi , I 'm trying to check if multiple directories exist on a server, if not create the missing ones and print " creating missing directory. how to write this in a simple script, I have made my code complex if ; then taskStatus="Schema extract directory exists, checking if SQL,Count and... (7 Replies)
Discussion started by: ramky79
7 Replies

4. Programming

A question about Makefile run by GNU make

Hello everybody, Currently I'm learning how to build projects (C programming) with GNU make. I have a problem with one Makefile and I would appreciate if you could kindly give me a hand. Here is the environment: OS: Redhat linux 5 compiler: gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)... (2 Replies)
Discussion started by: dariyoosh
2 Replies

5. Shell Programming and Scripting

automake does not create Makefile.in

hi all, I have written a simple C program hello.c and a Makefile.ac but when i try to run automake it does not create Makefile.in hence I am not able to run ./configure command in my directory. Following are the containts of my prog. hello.c -------- Code: #include<stdio.h> main() {... (0 Replies)
Discussion started by: useless79
0 Replies

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

7. Programming

Makefile No rule to make target

I am trying to create a makefile to build a program and am getting the following error: make -f tsimplex.mk make: *** No rule to make target `/main/tsimplex_main.cpp', needed by `tsimplex_main.o'. Stop. OPSYS = $(shell uname -s ) TARGET = tsimplex ROOTDIR = ../../.. GTSDIR =... (1 Reply)
Discussion started by: kristinu
1 Replies

8. Shell Programming and Scripting

Bash script from makefile - it is called each time i call make

I've created a tag in the makefile: mytag: $(shell ${PWD}/script.sh) When i do: make clean - the script is executed When i perform make or make mytag the script is again executed with the output: make: Nothing to be done for mytag What i want ? I want script.sh to be executed only... (0 Replies)
Discussion started by: Pufo
0 Replies

9. Homework & Coursework Questions

Create Makefile from source files

1. The problem statement, all variables and given/known data: Create a makefile for a set of source files. Several sources files are given but we are not allowed to modify them. The goal is to create a makefile such that if a change is made to any of the source code files, the project can be... (5 Replies)
Discussion started by: pintu1228
5 Replies

10. Solaris

SunOS 5.5.1 usage of Makefile command in make file

I am new to Solaris and compilation using make files. I have a code base which is organized into different folders. At the root folder is a master make file and in the sub directories, there are make files for that particular folder. In the make files present in subdirectories, I am seeing... (2 Replies)
Discussion started by: rajujayanthy
2 Replies
mkdir(1)						      General Commands Manual							  mkdir(1)

NAME
mkdir - Makes a directory SYNOPSIS
mkdir [-m mode] [-p] directory... STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: mkdir: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Sets the file permissions to mode, a symbolic mode string as defined for chmod, after creating the specified directory. The mode argument can be either an absolute mode string or a symbolic mode string as defined for chmod. See the chmod(1) reference page. In symbolic mode strings, the operation characters + and - are interpreted relative to an assumed initial mode of a=rwx, A + adds permissions to the default mode, whereas a - deletes permissions from the default mode. Creates intermediate directories as neces- sary; otherwise, the full path name prefix to directory must already exist. The user must have mkdir write permission in the parent directory. Each component of directory that does not name an existing directory is created with mode 777, modified by the current file mode creation mask (umask). The equivalent of chmod u+wx is performed on each component to ensure that mkdir can create lower directo- ries regardless of the setting of umask. Each component of directory that names an existing directory is ignored without error. If an intermediate path name component exists, but permissions are set to prevent writing or searching, mkdir fails and returns an error message. The mode argument does not apply to any intermediate directories created when the -p option is specified. OPERANDS
The path name of the directory to be created. DESCRIPTION
The mkdir command creates new directories with read, write, and execute permissions based upon the permissions established by the umask setting. [Tru64 UNIX] The mkdir command also creates the standard entries (dot) for the directory itself and (dot dot) for its parent. NOTES
Some of the requested directories may be created although an error occurs subsequent to the directory creation. If the directory specified by the -p option already exists, the command does not return an error status, in compliance with POSIX.2. [Tru64 UNIX] To make a new directory, you must have write permission in the parent directory. EXIT STATUS
The following exit values are returned: All requested directories were created, or the -p option was used and all of the requested directo- ries now exist. An error occurred. EXAMPLES
To create a new directory called test, enter: mkdir test To set file permissions for new directory test in absolute mode, enter: mkdir -m 444 test To set file permissions for new directory test in symbolic mode, enter: mkdir -m+rw test ENVIRONMENT VARIABLES
The following environment variables affect the execution of mkdir: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: chmod(1), rm(1), rmdir(1), Bourne shell sh(1b), POSIX shell sh(1p), umask(1) Functions: mkdir(2) Standards: standards(5) mkdir(1)
All times are GMT -4. The time now is 02:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy