./configure --prefix= "/usr" - prefix for man pages, include files --exec-prefix= "" - the root filesystem, prefix for libs and binaries --sysconfdir= "/etc" --with-libdir-name= "lib" - directory name for libraries, not a path name multilib 64bit systems may use "lib64" instead of "lib" --enable-debug compile-in verbose debug messages --disable-logging disable all logging and compile-out all log strings --with-selinux link against SELInux libraries to set the expected context for created files The installation directories are controlled by $prefix, $exec_prefix $sysconfdir and $libdir-name. Documentation, development files are installed below $prefix, binaries are installed below $exec_prefix, libraries below $exec_prefix/$libdir-name. The default configuration for a RPM spec file may look like: --prefix=%{_prefix} --exec-prefix="" --sysconfdir=%{_sysconfdir} --with-libdir-name=%{_lib} The well defined location for scripts and binaries which are called from rules is /lib/udev/ on all systems and architectures, anything else is broken. Other packages who use udev, may use the /lib/udev/ directory to install their rule helper and udev rule files. It is recommended to use the /lib/udev/devices/ directory to place device nodes, directories and symlinks, which are copied to /dev/ at every bootup. That way, nodes for devices which can not be detected automatically, or are activated on-demand by opening the pre-existing device node, will be available. Default udev rules and persistent device naming rules are required by other software that depends on the data udev collects from the devices, and should therefore be installed by default with every udev installation.