Main goal is to standardize the build process according to the GNU standards below:

1. compilation should work only using

./configure
make

2. Installation should work only using

make install

which will invoke make install recursively in each subdirectory and install to the directories dictated by the GNU standards

So "make install" must be equivalent to "make install" in each subdirectory (*)

3. The standard for include files is

#include <component/header.h>

The location of the header file will be $includedir/Singular/module/header.h

By default $includedir = /usr/local/include

4. Static libraries used by other developers (e.g. Macaulay2 people using factory)
    will be part of the devel packages and installed according the GNU standard by default in

/usr/lib/Singular/

e.g.

/usr/lib/Singular/libfactory.a

I words:
a. It not allowed to require a "make install" in ANY subdirectory before compiling another subdirectory
b. If you suggest to rename make to do make install then you will conflict with (*) and we will kill you sooner or later
c. the (non-super) user should be able to run make successfully even if ./configure --prefix=/usr was used
d. if the user already has run make successfully then make install must not touch or modify anything in the build-tree


Here is part pf the dump of rpm -qil gtk2-devel:

/usr/include/gtk-2.0/gtk/gtkwidget.h
/usr/include/gtk-2.0/gtk/gtkwindow.h
/usr/include/gtk-unix-print-2.0
/usr/include/gtk-unix-print-2.0/gtk
/usr/include/gtk-unix-print-2.0/gtk/gtkpagesetupunixdialog.h
/usr/include/gtk-unix-print-2.0/gtk/gtkprinter.h
/usr/include/gtk-unix-print-2.0/gtk/gtkprintjob.h
/usr/include/gtk-unix-print-2.0/gtk/gtkprintunixdialog.h
/usr/include/gtk-unix-print-2.0/gtk/gtkunixprint.h
/usr/lib64/gtk-2.0/include
/usr/lib64/gtk-2.0/include/gdkconfig.h
/usr/lib64/libgailutil.la
/usr/lib64/libgailutil.so
/usr/lib64/libgdk-x11-2.0.la
/usr/lib64/libgdk-x11-2.0.so
/usr/lib64/libgdk_pixbuf-2.0.la
/usr/lib64/libgdk_pixbuf-2.0.so
/usr/lib64/libgdk_pixbuf_xlib-2.0.la
/usr/lib64/libgdk_pixbuf_xlib-2.0.so
/usr/lib64/libgtk-x11-2.0.la
/usr/lib64/libgtk-x11-2.0.so
/usr/lib64/pkgconfig/gail.pc
/usr/lib64/pkgconfig/gdk-2.0.pc
/usr/lib64/pkgconfig/gdk-pixbuf-2.0.pc
/usr/lib64/pkgconfig/gdk-pixbuf-xlib-2.0.pc
/usr/lib64/pkgconfig/gdk-x11-2.0.pc
/usr/lib64/pkgconfig/gtk+-2.0.pc
/usr/lib64/pkgconfig/gtk+-unix-print-2.0.pc
/usr/lib64/pkgconfig/gtk+-x11-2.0.pc
/usr/share/aclocal/gtk-2.0.m4
/usr/share/gtk-2.0
/usr/share/gtk-2.0/demo
