Make Install Error 'Nothing to Be Done'

Why is make printing make: Nothing to be done for `all'.?

Make works on the base of time stamps. If you alter some of your source files Make compile them and built the image accordingly. If you do not change source file then compiler has nothing to do with your project. make does not work like gcc to compile every time whether new build is needed or not. This is one of many advantages of using make for your project.

Build error: make: Nothing to be done for 'compile'

In order to copy files and directories you can use below step:

# copy all files and directories using **cp -r -f **
define Build/Prepare
echo $PKG_NAME
mkdir -p $(PKG_BUILD_DIR)
cp -r -f $(SOURCE_DIR)/* $(PKG_BUILD_DIR)
$(Build/Patch)
endef

In order to execute the local makefile use below step:

# Execute local makefile by giving path using '-C' option
define Build/Compile
`$(MAKE) -C $(PKG_BUILD_DIR)`
endef

What is causing the error `make: Nothing to be done for 'x.o'.` for some x?

you need to add a rule to specify to make how to re-create main.o starting from main.dats. For C files make knows what to do, but for .dats files it doesn't. In particular, you have to change:

main.o : main.dats

with

main.o : main.dats
(your-compiler) (your-compiler-options) -o main.o main.dats

(assuming that is the syntax in your compiler for specifying input and output files)

IMPORTANT: indentation of the second (and the following) lines have to be done with tabs and not spaces, because that's how make works.

In your case (assuming .dats is the extension for dynamic ATS language) I think it should be

main.o : main.dats
patscc -c -o main.o main.dats

edit: if you have more than one .dats file to compile you can add a generic rule that teach make to invoke the right compiler for them (thanks to Toby for the syntax)

%.o : %.dats
patscc -c -o $@ $<

I am not sure what is the priority for application when both a main.c and main.dats are present.

java makefile make: Nothing to be done for 'default'

That means your classes already exist (therefor nothing is to be done). If you want to rebuild anyway, do a make clean first. Like,

make clean
make

As for jar'ing your compiled classes, you have no jar target.



Related Topics



Leave a reply



Submit