* Shawn Sörbom <[email protected]>, 2015-05-18, 13:54:
I am playing with the Snes9x source code, and I can't get it to compile via debhelper. Snes9x has its config files in a subfolder of the sources called "unix". What is the proper way of overriding dh_auto_install and dh_auto_build to point debhelper to the correct location?

I have tried placing these overrides in my debian/rules file, but they don't seem to work:

override_dh_auto_configure:
        DESTDIR=$(shell pwd)/debian/snes9x
        cd $(shell pwd)/unix
        autoreconf -i
        configure --prefix=$(DESTDIR)

override_dh_auto_build:
         cd $(shell pwd)/unix
         make

Vincent's answer is correct, but let me explain why your d/rules didn't work:

“When it is time to execute recipes to update a target, they are executed by invoking a new sub-shell for each line of the recipe, […] Please note: this implies that setting shell variables and invoking shell commands such as 'cd' that set a context local to each process will not affect the following lines in the recipe. If you want to use 'cd' to affect the next statement, put both statements in a single recipe line. Then 'make' will invoke one shell to run the entire line, and the shell will execute the statements in sequence.” [0]

Your makefile had also two minor buglets:

It's better to use $(CURDIR) instead of $(shell pwd); or use relative paths where possible.

“Recursive 'make' commands should always use the variable 'MAKE', not the explicit command name 'make'” [1]

[0] https://www.gnu.org/software/make/manual/html_node/Execution.html
[1] https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html

--
Jakub Wilk


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Reply via email to