gnuastro-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnuastro-commits] (no subject)


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] (no subject)
Date: Sun, 29 May 2016 11:47:50 +0000 (UTC)

branch: master
commit 3cfdb3e641ae47dc60d899dd9bb82782ebc7f020
Author: Mohammad Akhlaghi <address@hidden>
Date:   Sun May 29 19:36:06 2016 +0900

    Library header files moved into lib/gnuastro
    
    The library header files were moved into the new directory `lib/gnuastro'
    from the old `include/' directory. This was done in preparation to have the
    libraries become installable (task #13765). The basic idea is that the
    standard place for a large group of header files to be installed is the
    '$(pkgincludedir)' of Automake. This is a $(PACKAGE) (or `gnuastro/')
    directory within the $(includedir).
    
    We want the code inside of Gnuastro to be as similar as possible to the
    code someone would wright using Gnuastro for their own purposes in their
    own programs. On the other hand, it would be confusing to change the old
    `include/' directory to `gnuastro/', since it was in the top Gnuastro
    directory. So the new `gnuastro/' directory was moved within the `lib'
    directory and a `README' file was also included to explain the purpose of
    this (vaguely named when viewed within Gnuastro's source) directory. On the
    other hand after installation, it will be very clear in the installed
    `include/' directory.
    
    As discussed in the coding conventions, the `gal_' prefix was not added to
    the header file names. To re-iterate: the headers depend on each other
    (like GSL). So in the header files you will also see `#include
    "gnuastro/headername.h"'. If the user decides to install the header files
    in the same directory as other programs (having no `gnuastro' directory),
    Gnuastro will fail to compile (GSL's header files also depend on each other
    in a similar way). Therefore this assumption is hard-wired into the source
    code. It might be possible to use `config.h' macros set at configure time
    to do this, but that is not common and will make the code harder to read.
---
 Makefile.am                                     |    9 +--
 doc/gnuastro.texi                               |   82 ++++++++++++++++-------
 lib/Makefile.am                                 |   52 +++++++-------
 lib/arraymanip.c                                |    2 +-
 lib/box.c                                       |    2 +-
 lib/checkset.c                                  |    2 +-
 lib/configfiles.c                               |    5 +-
 lib/fitsarrayvv.c                               |    7 +-
 lib/gnuastro/README                             |   12 ++++
 {include => lib/gnuastro}/arraymanip.h          |    0
 {include => lib/gnuastro}/box.h                 |    0
 {include => lib/gnuastro}/checkset.h            |    2 +-
 {include => lib/gnuastro}/commonargs.h          |    7 +-
 {include => lib/gnuastro}/commonparams.h        |    0
 {include => lib/gnuastro}/configfiles.h         |    0
 {include => lib/gnuastro}/fitsarrayvv.h         |    0
 {include => lib/gnuastro}/fixedstringmacros.h   |    0
 {include => lib/gnuastro}/linkedlist.h          |    0
 {include => lib/gnuastro}/mesh.h                |    2 +-
 {include => lib/gnuastro}/mode.h                |    0
 {include => lib/gnuastro}/neighbors.h           |    0
 {include => lib/gnuastro}/polygon.h             |    0
 include/forqsort.h => lib/gnuastro/qsort.h      |    0
 {include => lib/gnuastro}/spatialconvolve.h     |    2 +-
 {include => lib/gnuastro}/statistics.h          |    0
 include/astrthreads.h => lib/gnuastro/threads.h |    0
 {include => lib/gnuastro}/timing.h              |    0
 {include => lib/gnuastro}/txtarrayvv.h          |    0
 lib/linkedlist.c                                |    2 +-
 lib/mesh.c                                      |   17 +++--
 lib/mode.c                                      |    6 +-
 lib/polygon.c                                   |    3 +-
 lib/{forqsort.c => qsort.c}                     |    2 +-
 lib/spatialconvolve.c                           |    5 +-
 lib/statistics.c                                |    6 +-
 lib/{astrthreads.c => threads.c}                |    2 +-
 lib/timing.c                                    |    2 +-
 lib/txtarrayvv.c                                |    2 +-
 src/arithmetic/Makefile.am                      |   10 +--
 src/arithmetic/args.h                           |    6 +-
 src/arithmetic/arithmetic.c                     |    8 +--
 src/arithmetic/main.c                           |    2 +-
 src/arithmetic/main.h                           |    6 +-
 src/arithmetic/ui.c                             |   12 ++--
 src/convertt/Makefile.am                        |   10 +--
 src/convertt/args.h                             |    5 +-
 src/convertt/convertt.c                         |    8 +--
 src/convertt/eps.c                              |    4 +-
 src/convertt/jpeg.c                             |    2 +-
 src/convertt/main.c                             |    2 +-
 src/convertt/main.h                             |    2 +-
 src/convertt/ui.c                               |   10 +--
 src/convolve/Makefile.am                        |   11 +--
 src/convolve/args.h                             |    6 +-
 src/convolve/convolve.c                         |    8 +--
 src/convolve/main.c                             |    2 +-
 src/convolve/main.h                             |    6 +-
 src/convolve/ui.c                               |   12 ++--
 src/cosmiccal/Makefile.am                       |    9 +--
 src/cosmiccal/args.h                            |    6 +-
 src/cosmiccal/main.c                            |    2 +-
 src/cosmiccal/main.h                            |    2 +-
 src/cosmiccal/ui.c                              |   12 ++--
 src/header/Makefile.am                          |    9 +--
 src/header/args.h                               |    6 +-
 src/header/header.c                             |    4 +-
 src/header/main.c                               |    4 +-
 src/header/main.h                               |    4 +-
 src/header/ui.c                                 |   12 ++--
 src/imgcrop/Makefile.am                         |   10 +--
 src/imgcrop/args.h                              |    4 +-
 src/imgcrop/crop.c                              |   10 +--
 src/imgcrop/crop.h                              |    2 +-
 src/imgcrop/imgcrop.c                           |    8 +--
 src/imgcrop/main.c                              |    2 +-
 src/imgcrop/main.h                              |    6 +-
 src/imgcrop/ui.c                                |   12 ++--
 src/imgcrop/wcsmode.c                           |    2 +-
 src/imgstat/Makefile.am                         |   10 +--
 src/imgstat/args.h                              |    6 +-
 src/imgstat/imgstat.c                           |    6 +-
 src/imgstat/main.c                              |    2 +-
 src/imgstat/main.h                              |    2 +-
 src/imgstat/ui.c                                |   20 +++---
 src/imgwarp/Makefile.am                         |    9 +--
 src/imgwarp/args.h                              |    4 +-
 src/imgwarp/imgwarp.c                           |    4 +-
 src/imgwarp/imgwarp.h                           |    2 +-
 src/imgwarp/main.c                              |    2 +-
 src/imgwarp/main.h                              |    2 +-
 src/imgwarp/ui.c                                |   12 ++--
 src/mkcatalog/Makefile.am                       |    9 +--
 src/mkcatalog/args.h                            |    6 +-
 src/mkcatalog/columns.c                         |    1 -
 src/mkcatalog/main.c                            |    2 +-
 src/mkcatalog/main.h                            |    4 +-
 src/mkcatalog/mkcatalog.c                       |    8 +--
 src/mkcatalog/ui.c                              |   12 ++--
 src/mknoise/Makefile.am                         |    8 +--
 src/mknoise/args.h                              |    4 +-
 src/mknoise/main.c                              |    2 +-
 src/mknoise/main.h                              |    4 +-
 src/mknoise/mknoise.c                           |    4 +-
 src/mknoise/ui.c                                |   12 ++--
 src/mkprof/Makefile.am                          |   11 +--
 src/mkprof/args.h                               |    4 +-
 src/mkprof/main.c                               |    2 +-
 src/mkprof/main.h                               |    4 +-
 src/mkprof/mkprof.c                             |   16 ++---
 src/mkprof/mkprof.h                             |    2 +-
 src/mkprof/oneprofile.c                         |   12 ++--
 src/mkprof/ui.c                                 |   16 ++---
 src/noisechisel/Makefile.am                     |   11 +--
 src/noisechisel/args.h                          |    4 +-
 src/noisechisel/binary.c                        |    4 +-
 src/noisechisel/binary.h                        |    2 +-
 src/noisechisel/clumps.c                        |   16 ++---
 src/noisechisel/detection.c                     |   16 ++---
 src/noisechisel/label.c                         |    6 +-
 src/noisechisel/label.h                         |    2 +-
 src/noisechisel/main.c                          |    2 +-
 src/noisechisel/main.h                          |    6 +-
 src/noisechisel/noisechisel.c                   |    7 +-
 src/noisechisel/segmentation.c                  |    6 +-
 src/noisechisel/sky.c                           |    6 +-
 src/noisechisel/thresh.c                        |   12 ++--
 src/noisechisel/ui.c                            |   16 ++---
 src/subtractsky/Makefile.am                     |   11 +--
 src/subtractsky/args.h                          |    4 +-
 src/subtractsky/main.c                          |    2 +-
 src/subtractsky/main.h                          |    6 +-
 src/subtractsky/subtractsky.c                   |   14 ++--
 src/subtractsky/ui.c                            |   16 ++---
 133 files changed, 466 insertions(+), 418 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 6321fa9..b673aed 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -112,10 +112,11 @@ dist_doc_DATA = README
 
 ## Files that are only distributed
 ## ===============================
-EXTRA_DIST = bootstrap bootstrap.conf genauthors .dir-locals.el         \
- $(top_srcdir)/.version bootstrapped/m4/gnulib-cache.m4                 \
- bootstrapped/README .autom4te.cfg include/commonargs.h                 \
- include/commonparams.h include/fixedstringmacros.h include/neighbors.h
+EXTRA_DIST = bootstrap bootstrap.conf genauthors .dir-locals.el        \
+ $(top_srcdir)/.version bootstrapped/m4/gnulib-cache.m4                \
+ bootstrapped/README .autom4te.cfg lib/gnuastro/commonargs.h   \
+ lib/gnuastro/commonparams.h lib/gnuastro/fixedstringmacros.h  \
+ lib/gnuastro/neighbors.h lib/gnuastro/README
 
 
 
diff --git a/doc/gnuastro.texi b/doc/gnuastro.texi
index 9417204..a2d7572 100644
--- a/doc/gnuastro.texi
+++ b/doc/gnuastro.texi
@@ -14151,37 +14151,69 @@ As much as order does not matter when you include the 
header of each
 group, sort them by length, see above.
 
 @item
+All function names, variables, etc should be in lower case.  Macros and
+preprocessor variables should be in upper case.
+
address@hidden
 Regarding naming of exported header files, functions, variables, macros,
 and library functions, we adopted similar conventions to those used by the
-GNU Scientific
address@hidden@url{https://www.gnu.org/software/gsl/design/gsl-design.html#SEC15}}.
+GNU Scientific Library
+(GSL)@address@hidden://www.gnu.org/software/gsl/design/gsl-design.html#SEC15}}.
 In particular, in order to avoid clashes with the names of functions and
-variables coming from other libraries we decided to use the namespace
address@hidden, which stands for @emph{G}NU @emph{A}stronomy @emph{L}ibrary.
-
address@hidden
address@hidden
-All exported header files should have a filename with the prefix @code{gal_}.
-
address@hidden
-All function names, variables, etc should be in lower case.  Macros and
-preprocessor variables should be in upper case.
+variables coming from other libraries the namespace address@hidden' is
+prefixed to them. GAL stands for @emph{G}NU @emph{A}stronomy
address@hidden Ideally address@hidden' should have been used, but that
+is very long.
+
address@hidden
+All installed header files should be in the @file{lib/gnuastro} directory
+(under the top Gnuastro source directory). After installation, they will be
+put in the @file{$prefix/include/gnuastro} directory (see @ref{Installation
+directory} for @file{$prefix}). Therefore Gnuastro's headers can be
+included in source files with the following line.
address@hidden
+# include <gnuastro/headername.h>
address@hidden example
+Note that unlike the GSL convention, the header file names are not prefixed
+with a address@hidden'. The reason is that the headers depend on each
+other (the include line above is present in the headers too). So if the
+user chooses to avoid the @file{gnuastro/} directory when installing
+Gnuastro the dependencies of the headers will break and Gnuastro cannot be
+compiled. Therefore the address@hidden' prefix to the file names is
address@hidden that this applies to GSL's header files too, for
+example see @file{eigen/gsl_eigen.h} in GSL's source files. However, GSL
+uses this prefix to find the headers that will be installed, therefore it
+is necessary there. With this convention, Gnuastro already has all its
+installed headers in the @file{lib/gnuastro/} directory so it doesn't have
+any operational necessity.}. With this convention, the coding of Gnuastro's
+utilities will be the same as a user's code working on their own separate
+project.
 
 @item
 @cindex GNU coding standards
-For all exported functions and variables use the base name of the file in
-which they are defined as prefix, followed by the rest of the name, using
-underscores to separate address@hidden convention to use underscores to
-separate words, called ``snake case'' (or ``snake_case''). This is also
-recommended by the GNU coding standards.}.  The same applies to exported
-macros, but in upper case.  For example, the prototype of function
address@hidden is in @code{gal_box.h}, and the macro
address@hidden is defined in @code{gal_polygon.h}. This
-facilitates looking up their definitions.
-
address@hidden
-All installed libraries should have a name like @code{libgalbox.a}.
address@hidden itemize
+All installed functions and variables should also include the base name of
+the file in which they are defined as prefix, using underscores to separate
address@hidden convention to use underscores to separate words, called
+``snake case'' (or ``snake_case''). This is also recommended by the GNU
+coding standards.}. The same applies to exported macros, but in upper case.
+For example in Gnuastro's top source directory, the prototype of function
address@hidden is in @file{lib/gnuastro/box.h}, and the
+macro @code{GAL_POLYGON_MAX_CORNERS} is defined in
address@hidden/gnuastro/polygon.h}. To find the header file in the installed
+directories, replace @file{lib/} with @file{$prefix/include/} (see
address@hidden directory} for @file{$prefix}).
+
+This is necessary to give any user (who is not familiar with the library
+structure) the ability to follow the code of a function that is not in the
+utility or library they are reading. This convention does make the function
+names longer (a little harder to write), but the extra documentation it
+provides convention plays an important role in Gnuastro and is worth the
+cost.
+
address@hidden
+All installed libraries should have a name like @code{libgalbox.a} (this is
+specified in the @file{Makefile.am} files in each directory, not in the
+actual C source code).
 
 @item
 @cindex GNU Emacs
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 752021f..272eec6 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -23,52 +23,52 @@ AM_CFLAGS = -Wall -O3
 
 LDADD = bootstrapped/lib/libgnu.a
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
 ## Make libraries of the files that are shared between all the
 ## programs:
-noinst_LTLIBRARIES = libconfigfiles.la libfitsarrayvv.la       \
-libtxtarrayvv.la libcheckset.la liblinkedlist.la libtiming.la  \
-libastrthreads.la libbox.la libarraymanip.la libstatistics.la  \
-libspatialconvolve.la libmesh.la libmode.la libforqsort.la     \
-libpolygon.la
+headersdir=$(top_srcdir)/lib/gnuastro
+noinst_LTLIBRARIES = libgalconfigfiles.la libgalfitsarrayvv.la           \
+libgaltxtarrayvv.la libgalcheckset.la libgallinkedlist.la libgaltiming.la \
+libgalthreads.la libgalbox.la libgalarraymanip.la libgalstatistics.la \
+libgalspatialconvolve.la libgalmesh.la libgalmode.la libgalqsort.la      \
+libgalpolygon.la
 
-libbox_la_SOURCES = box.c $(top_srcdir)/include/box.h
-libbox_la_LIBADD = -lm
+libgalbox_la_SOURCES = box.c $(headersdir)/box.h
+libgalbox_la_LIBADD = -lm
 
-libmesh_la_SOURCES = mesh.c $(top_srcdir)/include/mesh.h
+libgalmesh_la_SOURCES = mesh.c $(headersdir)/mesh.h
 
+libgalmode_la_SOURCES = mode.c $(headersdir)/mode.h
 
-libmode_la_SOURCES = mode.c $(top_srcdir)/include/mode.h
+libgalqsort_la_SOURCES = qsort.c $(headersdir)/qsort.h
 
-libtiming_la_SOURCES = timing.c $(top_srcdir)/include/timing.h
+libgaltiming_la_SOURCES = timing.c $(headersdir)/timing.h
 
-libpolygon_la_SOURCES = polygon.c $(top_srcdir)/include/polygon.h
+libgalpolygon_la_SOURCES = polygon.c $(headersdir)/polygon.h
 
-libforqsort_la_SOURCES = forqsort.c $(top_srcdir)/include/forqsort.h
+libgalthreads_la_SOURCES = threads.c $(headersdir)/threads.h
 
-libcheckset_la_SOURCES = checkset.c $(top_srcdir)/include/checkset.h
+libgalcheckset_la_SOURCES = checkset.c $(headersdir)/checkset.h
 
-liblinkedlist_la_SOURCES = linkedlist.c $(top_srcdir)/include/linkedlist.h
+libgallinkedlist_la_SOURCES = linkedlist.c $(headersdir)/linkedlist.h
 
-libstatistics_la_SOURCES = statistics.c $(top_srcdir)/include/statistics.h
+libgalstatistics_la_SOURCES = statistics.c $(headersdir)/statistics.h
 
-libarraymanip_la_SOURCES = arraymanip.c $(top_srcdir)/include/arraymanip.h
+libgalarraymanip_la_SOURCES = arraymanip.c $(headersdir)/arraymanip.h
 
-libtxtarrayvv_la_SOURCES = txtarrayvv.c $(top_srcdir)/include/txtarrayvv.h
+libgaltxtarrayvv_la_SOURCES = txtarrayvv.c $(headersdir)/txtarrayvv.h
 
-libastrthreads_la_SOURCES = astrthreads.c $(top_srcdir)/include/astrthreads.h
+libgalconfigfiles_la_SOURCES = configfiles.c $(headersdir)/configfiles.h
 
-libconfigfiles_la_SOURCES = configfiles.c $(top_srcdir)/include/configfiles.h
-
-libfitsarrayvv_la_SOURCES = fitsarrayvv.c $(top_srcdir)/include/fitsarrayvv.h
-libfitsarrayvv_la_LIBADD = -lwcs -lcfitsio -lm
+libgalfitsarrayvv_la_SOURCES = fitsarrayvv.c $(headersdir)/fitsarrayvv.h
+libgalfitsarrayvv_la_LIBADD = -lwcs -lcfitsio -lm
 
 
 
 # Dependent libraries:
-libspatialconvolve_la_SOURCES = spatialconvolve.c      \
-$(top_srcdir)/include/spatialconvolve.h
-libspatialconvolve_la_LDFLAGS = -lastrthreads -lbox
+libgalspatialconvolve_la_SOURCES = spatialconvolve.c   \
+       $(headersdir)/spatialconvolve.h
+libgalspatialconvolve_la_LDFLAGS = -lgalthreads -lgalbox
diff --git a/lib/arraymanip.c b/lib/arraymanip.c
index 0f453c0..255d797 100644
--- a/lib/arraymanip.c
+++ b/lib/arraymanip.c
@@ -30,7 +30,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <assert.h>
 #include <pthread.h>
 
-#include "arraymanip.h"
+#include <gnuastro/arraymanip.h>
 
 
 
diff --git a/lib/box.c b/lib/box.c
index e3da570..756b052 100644
--- a/lib/box.c
+++ b/lib/box.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdio.h>
 #include <stdlib.h>
 
-#include "box.h"
+#include <gnuastro/box.h>
 
 
 
diff --git a/lib/checkset.c b/lib/checkset.c
index 6fa50c9..d0d1098 100644
--- a/lib/checkset.c
+++ b/lib/checkset.c
@@ -31,7 +31,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <unistd.h>
 #include <sys/stat.h>
 
-#include "checkset.h"
+#include <gnuastro/checkset.h>
 
 
 #define FIXEDFORFILE        "The value of `%s` (given as %s)"
diff --git a/lib/configfiles.c b/lib/configfiles.c
index da6053a..c65f62b 100644
--- a/lib/configfiles.c
+++ b/lib/configfiles.c
@@ -32,9 +32,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <dirent.h>
 #include <sys/stat.h>          /* For mkdir permission flags. */
 
-#include "config.h"
-#include "checkset.h"
-#include "configfiles.h"
+#include <gnuastro/checkset.h>
+#include <gnuastro/configfiles.h>
 
 
 
diff --git a/lib/fitsarrayvv.c b/lib/fitsarrayvv.c
index 9f793f9..5ae28a0 100644
--- a/lib/fitsarrayvv.c
+++ b/lib/fitsarrayvv.c
@@ -31,10 +31,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <unistd.h>
 #include <assert.h>
 
-#include "config.h"
-#include "checkset.h"
-#include "fitsarrayvv.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/checkset.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 /*************************************************************
diff --git a/lib/gnuastro/README b/lib/gnuastro/README
new file mode 100644
index 0000000..5c8355d
--- /dev/null
+++ b/lib/gnuastro/README
@@ -0,0 +1,12 @@
+GNU Astronomy Utilities library header files
+============================================
+
+This directory contins Gnuastro's library header files. Once installed, all
+these directories will be installed in the specified
+'$(prefix)/include/gnuastro' directory (the value of '$(prefix)' can be set
+at configure time, see the "Installation directory" of the Gnuastro book
+for more).
+
+Inside of Gnuastro, the directory is given the same name to make Gnuastro's
+internal code similar to what a user would use in their own programs once
+the header files are installed.
\ No newline at end of file
diff --git a/include/arraymanip.h b/lib/gnuastro/arraymanip.h
similarity index 100%
rename from include/arraymanip.h
rename to lib/gnuastro/arraymanip.h
diff --git a/include/box.h b/lib/gnuastro/box.h
similarity index 100%
rename from include/box.h
rename to lib/gnuastro/box.h
diff --git a/include/checkset.h b/lib/gnuastro/checkset.h
similarity index 98%
rename from include/checkset.h
rename to lib/gnuastro/checkset.h
index 42d411e..15cc24d 100644
--- a/include/checkset.h
+++ b/lib/gnuastro/checkset.h
@@ -32,7 +32,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 /**************************************************************/
 #define GAL_CHECKSET_CHECK_COL_IN_CAT(INCOL,NAME) {                     \
     size_t i;                                                          \
-                                                                       \
+                                                                        \
     if( (INCOL) >= p->cs1 )                                            \
       error(EXIT_FAILURE, 0, "%s only has %lu columns while you "      \
            "have requested column %lu (counting from zero) for "       \
diff --git a/include/commonargs.h b/lib/gnuastro/commonargs.h
similarity index 98%
rename from include/commonargs.h
rename to lib/gnuastro/commonargs.h
index e64ddff..95ac6fe 100644
--- a/include/commonargs.h
+++ b/lib/gnuastro/commonargs.h
@@ -25,14 +25,13 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 #include <string.h>
-#include <assert.h>
 #include <stdlib.h>
 
 #include <fitsio.h>
 
-#include "checkset.h"
-#include "commonparams.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/checkset.h>
+#include <gnuastro/commonparams.h>
+#include <gnuastro/fixedstringmacros.h>
 
 /* These are separate in each package. */
 #include "main.h"
diff --git a/include/commonparams.h b/lib/gnuastro/commonparams.h
similarity index 100%
rename from include/commonparams.h
rename to lib/gnuastro/commonparams.h
diff --git a/include/configfiles.h b/lib/gnuastro/configfiles.h
similarity index 100%
rename from include/configfiles.h
rename to lib/gnuastro/configfiles.h
diff --git a/include/fitsarrayvv.h b/lib/gnuastro/fitsarrayvv.h
similarity index 100%
rename from include/fitsarrayvv.h
rename to lib/gnuastro/fitsarrayvv.h
diff --git a/include/fixedstringmacros.h b/lib/gnuastro/fixedstringmacros.h
similarity index 100%
rename from include/fixedstringmacros.h
rename to lib/gnuastro/fixedstringmacros.h
diff --git a/include/linkedlist.h b/lib/gnuastro/linkedlist.h
similarity index 100%
rename from include/linkedlist.h
rename to lib/gnuastro/linkedlist.h
diff --git a/include/mesh.h b/lib/gnuastro/mesh.h
similarity index 99%
rename from include/mesh.h
rename to lib/gnuastro/mesh.h
index fb423c2..ec4e9bb 100644
--- a/include/mesh.h
+++ b/lib/gnuastro/mesh.h
@@ -27,7 +27,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <wcslib/wcs.h>
 
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 
 
diff --git a/include/mode.h b/lib/gnuastro/mode.h
similarity index 100%
rename from include/mode.h
rename to lib/gnuastro/mode.h
diff --git a/include/neighbors.h b/lib/gnuastro/neighbors.h
similarity index 100%
rename from include/neighbors.h
rename to lib/gnuastro/neighbors.h
diff --git a/include/polygon.h b/lib/gnuastro/polygon.h
similarity index 100%
rename from include/polygon.h
rename to lib/gnuastro/polygon.h
diff --git a/include/forqsort.h b/lib/gnuastro/qsort.h
similarity index 100%
rename from include/forqsort.h
rename to lib/gnuastro/qsort.h
diff --git a/include/spatialconvolve.h b/lib/gnuastro/spatialconvolve.h
similarity index 98%
rename from include/spatialconvolve.h
rename to lib/gnuastro/spatialconvolve.h
index 77123e0..9017b4f 100644
--- a/include/spatialconvolve.h
+++ b/lib/gnuastro/spatialconvolve.h
@@ -28,7 +28,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 
 /* For pthread_barrier_t: */
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 
 
diff --git a/include/statistics.h b/lib/gnuastro/statistics.h
similarity index 100%
rename from include/statistics.h
rename to lib/gnuastro/statistics.h
diff --git a/include/astrthreads.h b/lib/gnuastro/threads.h
similarity index 100%
rename from include/astrthreads.h
rename to lib/gnuastro/threads.h
diff --git a/include/timing.h b/lib/gnuastro/timing.h
similarity index 100%
rename from include/timing.h
rename to lib/gnuastro/timing.h
diff --git a/include/txtarrayvv.h b/lib/gnuastro/txtarrayvv.h
similarity index 100%
rename from include/txtarrayvv.h
rename to lib/gnuastro/txtarrayvv.h
diff --git a/lib/linkedlist.c b/lib/linkedlist.c
index 5371836..ce93e0c 100644
--- a/lib/linkedlist.c
+++ b/lib/linkedlist.c
@@ -28,7 +28,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <assert.h>
 
-#include "linkedlist.h"
+#include <gnuastro/linkedlist.h>
 
 
 
diff --git a/lib/mesh.c b/lib/mesh.c
index d5e068b..f9b5909 100644
--- a/lib/mesh.c
+++ b/lib/mesh.c
@@ -30,15 +30,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <string.h>
 
-#include "mesh.h"
-#include "mode.h"
-#include "forqsort.h"
-#include "neighbors.h"
-#include "linkedlist.h"
-#include "statistics.h"
-#include "fitsarrayvv.h"
-#include "astrthreads.h"
-#include "spatialconvolve.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/mode.h>
+#include <gnuastro/qsort.h>
+#include <gnuastro/neighbors.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/spatialconvolve.h>
 
 
 
diff --git a/lib/mode.c b/lib/mode.c
index 1c2aedd..fde3b74 100644
--- a/lib/mode.c
+++ b/lib/mode.c
@@ -29,9 +29,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <float.h>
 #include <stdlib.h>
 
-#include "mode.h"
-#include "arraymanip.h"
-#include "statistics.h"
+#include <gnuastro/mode.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
 
 
 /****************************************************************
diff --git a/lib/polygon.c b/lib/polygon.c
index b5709e7..f68b7c0 100644
--- a/lib/polygon.c
+++ b/lib/polygon.c
@@ -27,9 +27,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdio.h>
 #include <stdlib.h>
+
 #include <gsl/gsl_sort.h>
 
-#include "polygon.h"
+#include <gnuastro/polygon.h>
 
 
 /***************************************************************/
diff --git a/lib/forqsort.c b/lib/qsort.c
similarity index 98%
rename from lib/forqsort.c
rename to lib/qsort.c
index 42f1f46..655cadc 100644
--- a/lib/forqsort.c
+++ b/lib/qsort.c
@@ -24,7 +24,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <stdlib.h>
 
-#include "forqsort.h"
+#include <gnuastro/qsort.h>
 
 /* Initialize the array for sorting indexs to NULL. */
 float *gal_qsort_index_arr;
diff --git a/lib/spatialconvolve.c b/lib/spatialconvolve.c
index 178063a..2fc7a09 100644
--- a/lib/spatialconvolve.c
+++ b/lib/spatialconvolve.c
@@ -29,9 +29,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "box.h"
-#include "astrthreads.h"
-#include "spatialconvolve.h"
+#include <gnuastro/box.h>
+#include <gnuastro/spatialconvolve.h>
 
 
 
diff --git a/lib/statistics.c b/lib/statistics.c
index bc504c2..eeffe80 100644
--- a/lib/statistics.c
+++ b/lib/statistics.c
@@ -29,9 +29,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <float.h>
 #include <stdlib.h>
 
-#include "forqsort.h"
-#include "statistics.h"
-#include "arraymanip.h"
+#include <gnuastro/qsort.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/arraymanip.h>
 
 
 
diff --git a/lib/astrthreads.c b/lib/threads.c
similarity index 99%
rename from lib/astrthreads.c
rename to lib/threads.c
index 3f62c6b..37e6b79 100644
--- a/lib/astrthreads.c
+++ b/lib/threads.c
@@ -27,7 +27,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 
 
diff --git a/lib/timing.c b/lib/timing.c
index 00e21b1..d5e4d25 100644
--- a/lib/timing.c
+++ b/lib/timing.c
@@ -24,7 +24,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <stdio.h>
 
-#include "timing.h"
+#include <gnuastro/timing.h>
 
 
 
diff --git a/lib/txtarrayvv.c b/lib/txtarrayvv.c
index 45a2bfd..a6664d6 100644
--- a/lib/txtarrayvv.c
+++ b/lib/txtarrayvv.c
@@ -30,7 +30,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <assert.h>
 #include <string.h>
 
-#include "txtarrayvv.h"
+#include <gnuastro/txtarrayvv.h>
 
 
 
diff --git a/src/arithmetic/Makefile.am b/src/arithmetic/Makefile.am
index 5de4670..49dd8a7 100644
--- a/src/arithmetic/Makefile.am
+++ b/src/arithmetic/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -36,9 +36,9 @@ bin_PROGRAMS = astarithmetic
 astarithmetic_SOURCES = main.c main.h cite.h ui.c ui.h args.h  \
 arithmetic.c arithmetic.h
 
-astarithmetic_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles 
\
--lfitsarrayvv -lcheckset -ltiming -llinkedlist -lmode -lstatistics             
\
--larraymanip -lforqsort
+astarithmetic_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la       \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming            \
+-lgallinkedlist -lgalmode -lgalstatistics -lgalarraymanip -lgalqsort
 
 
 
@@ -54,5 +54,5 @@ dist_sysconf_DATA = astarithmetic.conf
 ## Generally for the man pages:
 dist_man_MANS = astarithmetic.1
 
-astarithmetic.1: args.h $(top_srcdir)/include/commonargs.h
+astarithmetic.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astarithmetic
diff --git a/src/arithmetic/args.h b/src/arithmetic/args.h
index 648b3c8..4c8d9bd 100644
--- a/src/arithmetic/args.h
+++ b/src/arithmetic/args.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "linkedlist.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/arithmetic/arithmetic.c b/src/arithmetic/arithmetic.c
index 83a9f8f..b305ea1 100644
--- a/src/arithmetic/arithmetic.c
+++ b/src/arithmetic/arithmetic.c
@@ -29,10 +29,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "checkset.h"
-#include "arraymanip.h"
-#include "statistics.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/checkset.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 #include "arithmetic.h"            /* needs main.h.                  */
diff --git a/src/arithmetic/main.c b/src/arithmetic/main.c
index b181465..d928534 100644
--- a/src/arithmetic/main.c
+++ b/src/arithmetic/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/arithmetic/main.h b/src/arithmetic/main.h
index 9faa66a..074ff25 100644
--- a/src/arithmetic/main.h
+++ b/src/arithmetic/main.h
@@ -23,9 +23,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "linkedlist.h"
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astarithmetic"   /* Subpackage executable name. */
diff --git a/src/arithmetic/ui.c b/src/arithmetic/ui.c
index 7d16c5c..e33bb4c 100644
--- a/src/arithmetic/ui.c
+++ b/src/arithmetic/ui.c
@@ -32,12 +32,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/fixedstringmacros.h>
 
 #include "main.h"
 
diff --git a/src/convertt/Makefile.am b/src/convertt/Makefile.am
index 2389e43..bb9f0c0 100644
--- a/src/convertt/Makefile.am
+++ b/src/convertt/Makefile.am
@@ -29,7 +29,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lm $(MAYBE_HASLIBJPEG) -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -43,9 +43,9 @@ bin_PROGRAMS = astconvertt
 astconvertt_SOURCES = main.c main.h args.h cite.h ui.c ui.h eps.c      \
 eps.h jpeg.c jpeg.h convertt.c convertt.h
 
-astconvertt_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -ltxtarrayvv -lcheckset -ltiming -llinkedlist -lstatistics     \
--larraymanip -lforqsort
+astconvertt_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la         \
+-lgalconfigfiles -lgalfitsarrayvv -lgaltxtarrayvv -lgalcheckset                
\
+-lgaltiming -lgallinkedlist -lgalstatistics -lgalarraymanip -lgalqsort
 
 
 
@@ -61,5 +61,5 @@ dist_sysconf_DATA = astconvertt.conf
 ## Generally for the man pages:
 dist_man_MANS = astconvertt.1
 
-astconvertt.1: args.h $(top_srcdir)/include/commonargs.h
+astconvertt.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astconvertt
diff --git a/src/convertt/args.h b/src/convertt/args.h
index 7d15436..58e159c 100644
--- a/src/convertt/args.h
+++ b/src/convertt/args.h
@@ -23,9 +23,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef ARGS_H
 #define ARGS_H
 
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
+
 #include "ui.h"
-#include "commonargs.h"
-#include "fixedstringmacros.h"
 
 
 /* Definition parameters for the argp: */
diff --git a/src/convertt/convertt.c b/src/convertt/convertt.c
index 77ecd08..7238895 100644
--- a/src/convertt/convertt.c
+++ b/src/convertt/convertt.c
@@ -29,10 +29,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "timing.h"
-#include "statistics.h"
-#include "txtarrayvv.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/convertt/eps.c b/src/convertt/eps.c
index eb3e415..28e5cc6 100644
--- a/src/convertt/eps.c
+++ b/src/convertt/eps.c
@@ -28,8 +28,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <string.h>
 
-#include <timing.h>
-#include <checkset.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/checkset.h>
 
 #include "main.h"
 
diff --git a/src/convertt/jpeg.c b/src/convertt/jpeg.c
index 2f02b1e..d1231bc 100644
--- a/src/convertt/jpeg.c
+++ b/src/convertt/jpeg.c
@@ -32,7 +32,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
   #include <jpeglib.h>
 #endif
 
-#include "fitsarrayvv.h"
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 #include "jpeg.h"
diff --git a/src/convertt/main.c b/src/convertt/main.c
index 6bb9759..4bb2e47 100644
--- a/src/convertt/main.c
+++ b/src/convertt/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>     /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/convertt/main.h b/src/convertt/main.h
index 03acac9..8e54e6f 100644
--- a/src/convertt/main.h
+++ b/src/convertt/main.h
@@ -25,7 +25,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 
-#include "commonparams.h"
+#include <gnuastro/commonparams.h>
 
 
 
diff --git a/src/convertt/ui.c b/src/convertt/ui.c
index 0527abb..07c2f8e 100644
--- a/src/convertt/ui.c
+++ b/src/convertt/ui.c
@@ -32,11 +32,11 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "txtarrayvv.h"
-#include "linkedlist.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/convolve/Makefile.am b/src/convolve/Makefile.am
index f08e4f5..52b3049 100644
--- a/src/convolve/Makefile.am
+++ b/src/convolve/Makefile.am
@@ -24,7 +24,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs  -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -37,9 +37,10 @@ bin_PROGRAMS = astconvolve
 astconvolve_SOURCES = main.c main.h args.h ui.c ui.h convolve.c        \
 convolve.h cite.h
 
-astconvolve_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lcheckset   \
--lfitsarrayvv -ltiming -lconfigfiles -lmesh -lastrthreads -lspatialconvolve \
--lbox -larraymanip -lstatistics -lforqsort -llinkedlist
+astconvolve_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la            \
+-lgalcheckset -lgalfitsarrayvv -lgaltiming -lgalconfigfiles -lgalmesh     \
+-lgalthreads -lgalspatialconvolve -lgalbox -lgalarraymanip -lgalstatistics \
+-lgalqsort -lgallinkedlist
 
 
 
@@ -53,5 +54,5 @@ dist_sysconf_DATA = astconvolve.conf
 ## Generally for the man pages:
 dist_man_MANS = astconvolve.1
 
-astconvolve.1: args.h $(top_srcdir)/include/commonargs.h
+astconvolve.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astconvolve
diff --git a/src/convolve/args.h b/src/convolve/args.h
index 569036d..6eb334e 100644
--- a/src/convolve/args.h
+++ b/src/convolve/args.h
@@ -23,10 +23,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef ARGS_H
 #define ARGS_H
 
-#include "ui.h"
-#include "commonargs.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
+#include "ui.h"
 
 /* Definition parameters for the argp: */
 const char *argp_program_version=SPACK_STRING"\n"GAL_STRINGS_COPYRIGHT
diff --git a/src/convolve/convolve.c b/src/convolve/convolve.c
index 267cbbe..e2433bb 100644
--- a/src/convolve/convolve.c
+++ b/src/convolve/convolve.c
@@ -29,10 +29,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <gsl/gsl_errno.h>
 
-#include "timing.h"
-#include "astrthreads.h"
-#include "fitsarrayvv.h"
-#include "spatialconvolve.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/threads.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/spatialconvolve.h>
 
 #include "main.h"
 #include "convolve.h"
diff --git a/src/convolve/main.c b/src/convolve/main.c
index c72183e..56559a1 100644
--- a/src/convolve/main.c
+++ b/src/convolve/main.c
@@ -27,7 +27,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <progname.h>
 
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>     /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/convolve/main.h b/src/convolve/main.h
index 7718ad8..814d61c 100644
--- a/src/convolve/main.h
+++ b/src/convolve/main.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 
 
-#include "mesh.h"
-#include "astrthreads.h"
-#include "commonparams.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/threads.h>
+#include <gnuastro/commonparams.h>
 
 
 
diff --git a/src/convolve/ui.c b/src/convolve/ui.c
index 2c14bbe..e2c9863 100644
--- a/src/convolve/ui.c
+++ b/src/convolve/ui.c
@@ -31,12 +31,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                   */
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
-#include "checkset.h"
-#include "statistics.h"
-#include "arraymanip.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>   /* Includes time.h and sys/time.h */
+#include <gnuastro/checkset.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/cosmiccal/Makefile.am b/src/cosmiccal/Makefile.am
index 48354f7..0e40263 100644
--- a/src/cosmiccal/Makefile.am
+++ b/src/cosmiccal/Makefile.am
@@ -26,7 +26,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -39,8 +39,9 @@ bin_PROGRAMS = astcosmiccal
 astcosmiccal_SOURCES = main.c main.h cite.h ui.c ui.h args.h   \
 cosmiccal.c cosmiccal.h
 
-astcosmiccal_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -lcheckset -ltiming -llinkedlist
+astcosmiccal_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la        \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming    \
+-lgallinkedlist
 
 
 
@@ -56,5 +57,5 @@ dist_sysconf_DATA = astcosmiccal.conf
 ## Generally for the man pages:
 dist_man_MANS = astcosmiccal.1
 
-astcosmiccal.1: args.h $(top_srcdir)/include/commonargs.h
+astcosmiccal.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astcosmiccal
diff --git a/src/cosmiccal/args.h b/src/cosmiccal/args.h
index 6db8d2a..991fc25 100644
--- a/src/cosmiccal/args.h
+++ b/src/cosmiccal/args.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "linkedlist.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/cosmiccal/main.c b/src/cosmiccal/main.c
index b4590bb..2f43671 100644
--- a/src/cosmiccal/main.c
+++ b/src/cosmiccal/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/cosmiccal/main.h b/src/cosmiccal/main.h
index 4d33e80..a0058de 100644
--- a/src/cosmiccal/main.h
+++ b/src/cosmiccal/main.h
@@ -23,7 +23,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "commonparams.h"
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astcosmiccal" /* Subpackage executable name. */
diff --git a/src/cosmiccal/ui.c b/src/cosmiccal/ui.c
index 7d6974a..7f01995 100644
--- a/src/cosmiccal/ui.c
+++ b/src/cosmiccal/ui.c
@@ -33,12 +33,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <nproc.h>              /* From Gnulib.                     */
 #include <gsl/gsl_const_mksa.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/header/Makefile.am b/src/header/Makefile.am
index 6d52cf3..9c4f62e 100644
--- a/src/header/Makefile.am
+++ b/src/header/Makefile.am
@@ -26,7 +26,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -39,8 +39,9 @@ bin_PROGRAMS = astheader
 astheader_SOURCES = main.c main.h cite.h ui.c ui.h args.h      \
 header.c header.h
 
-astheader_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -lcheckset -ltiming -llinkedlist
+astheader_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la   \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming    \
+-lgallinkedlist
 
 
 
@@ -56,5 +57,5 @@ dist_sysconf_DATA = astheader.conf
 ## Generally for the man pages:
 dist_man_MANS = astheader.1
 
-astheader.1: args.h $(top_srcdir)/include/commonargs.h
+astheader.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astheader
diff --git a/src/header/args.h b/src/header/args.h
index e010c22..23c33b1 100644
--- a/src/header/args.h
+++ b/src/header/args.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "linkedlist.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/header/header.c b/src/header/header.c
index 4e32fa5..f258b93 100644
--- a/src/header/header.c
+++ b/src/header/header.c
@@ -28,8 +28,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "linkedlist.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/header/main.c b/src/header/main.c
index 0c65a62..70b7c8b 100644
--- a/src/header/main.c
+++ b/src/header/main.c
@@ -26,12 +26,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
 #include "ui.h"                        /* needs main.h.                  */
-#include "header.h"            /* needs main.h.                  */
+#include "header.h"             /* needs main.h.                  */
 
 int
 main (int argc, char *argv[])
diff --git a/src/header/main.h b/src/header/main.h
index 756a5ad..284e090 100644
--- a/src/header/main.h
+++ b/src/header/main.h
@@ -23,8 +23,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astheader" /* Subpackage executable name. */
diff --git a/src/header/ui.c b/src/header/ui.c
index 20d574d..4c814b2 100644
--- a/src/header/ui.c
+++ b/src/header/ui.c
@@ -32,12 +32,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/imgcrop/Makefile.am b/src/imgcrop/Makefile.am
index f510193..6532e6c 100644
--- a/src/imgcrop/Makefile.am
+++ b/src/imgcrop/Makefile.am
@@ -24,7 +24,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -37,9 +37,9 @@ bin_PROGRAMS = astimgcrop
 astimgcrop_SOURCES = main.c main.h cite.h ui.c ui.h args.h imgcrop.c   \
 imgcrop.h wcsmode.c wcsmode.h crop.c crop.h
 
-astimgcrop_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -ltxtarrayvv -lcheckset -llinkedlist -ltiming -lastrthreads   \
--lbox -lpolygon
+astimgcrop_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la          \
+-lgalconfigfiles -lgalfitsarrayvv -lgaltxtarrayvv -lgalcheckset                
\
+-lgallinkedlist -lgaltiming -lgalthreads -lgalbox -lgalpolygon
 
 
 
@@ -53,5 +53,5 @@ dist_sysconf_DATA = astimgcrop.conf
 ## Generally for the man pages:
 dist_man_MANS = astimgcrop.1
 
-astimgcrop.1: args.h $(top_srcdir)/include/commonargs.h
+astimgcrop.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astimgcrop
diff --git a/src/imgcrop/args.h b/src/imgcrop/args.h
index e5d1906..da39f03 100644
--- a/src/imgcrop/args.h
+++ b/src/imgcrop/args.h
@@ -25,8 +25,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "fixedstringmacros.h"
-#include "commonargs.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/imgcrop/crop.c b/src/imgcrop/crop.c
index bda5255..8037db9 100644
--- a/src/imgcrop/crop.c
+++ b/src/imgcrop/crop.c
@@ -31,11 +31,11 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "box.h"
-#include "timing.h"
-#include "polygon.h"
-#include "checkset.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/box.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/polygon.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/imgcrop/crop.h b/src/imgcrop/crop.h
index 3cdca7f..3035414 100644
--- a/src/imgcrop/crop.h
+++ b/src/imgcrop/crop.h
@@ -23,7 +23,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef CROP_H
 #define CROP_H
 
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 #include "main.h"
 
diff --git a/src/imgcrop/imgcrop.c b/src/imgcrop/imgcrop.c
index fd0c40c..e50a5e9 100644
--- a/src/imgcrop/imgcrop.c
+++ b/src/imgcrop/imgcrop.c
@@ -29,10 +29,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "timing.h"
-#include "checkset.h"
-#include "fitsarrayvv.h"
-#include "astrthreads.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/threads.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/imgcrop/main.c b/src/imgcrop/main.c
index d8c70f7..f43f5ef 100644
--- a/src/imgcrop/main.c
+++ b/src/imgcrop/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/imgcrop/main.h b/src/imgcrop/main.h
index e7996c9..634c0cc 100644
--- a/src/imgcrop/main.h
+++ b/src/imgcrop/main.h
@@ -24,9 +24,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #define MAIN_H
 
 
-#include "linkedlist.h"
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 
 
diff --git a/src/imgcrop/ui.c b/src/imgcrop/ui.c
index f4ee0c3..a919e41 100644
--- a/src/imgcrop/ui.c
+++ b/src/imgcrop/ui.c
@@ -31,12 +31,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 #include "crop.h"
diff --git a/src/imgcrop/wcsmode.c b/src/imgcrop/wcsmode.c
index 144347d..3d9934f 100644
--- a/src/imgcrop/wcsmode.c
+++ b/src/imgcrop/wcsmode.c
@@ -29,7 +29,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <float.h>
 #include <stdlib.h>
 
-#include "fitsarrayvv.h"
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 #include "crop.h"
diff --git a/src/imgstat/Makefile.am b/src/imgstat/Makefile.am
index 32bf670..474917a 100644
--- a/src/imgstat/Makefile.am
+++ b/src/imgstat/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -36,9 +36,9 @@ bin_PROGRAMS = astimgstat
 astimgstat_SOURCES = main.c main.h cite.h ui.c ui.h args.h     \
 imgstat.c imgstat.h
 
-astimgstat_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -lcheckset -ltiming -llinkedlist -lmode -lstatistics          \
--larraymanip -lforqsort
+astimgstat_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la          \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming            \
+-lgallinkedlist -lgalmode -lgalstatistics -lgalarraymanip -lgalqsort
 
 
 
@@ -54,5 +54,5 @@ dist_sysconf_DATA = astimgstat.conf
 ## Generally for the man pages:
 dist_man_MANS = astimgstat.1
 
-astimgstat.1: args.h $(top_srcdir)/include/commonargs.h
+astimgstat.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astimgstat
diff --git a/src/imgstat/args.h b/src/imgstat/args.h
index 4cf52a2..cc6cf32 100644
--- a/src/imgstat/args.h
+++ b/src/imgstat/args.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "linkedlist.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/imgstat/imgstat.c b/src/imgstat/imgstat.c
index e70a791..c9e43c8 100644
--- a/src/imgstat/imgstat.c
+++ b/src/imgstat/imgstat.c
@@ -30,9 +30,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "mode.h"
-#include "timing.h"
-#include "statistics.h"
+#include <gnuastro/mode.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/statistics.h>
 
 #include "main.h"
 #include "imgstat.h"
diff --git a/src/imgstat/main.c b/src/imgstat/main.c
index 6c699c1..1493fa7 100644
--- a/src/imgstat/main.c
+++ b/src/imgstat/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>         /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/imgstat/main.h b/src/imgstat/main.h
index bab3a61..e75fc5d 100644
--- a/src/imgstat/main.h
+++ b/src/imgstat/main.h
@@ -23,7 +23,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "commonparams.h"
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astimgstat"       /* Subpackage executable name. */
diff --git a/src/imgstat/ui.c b/src/imgstat/ui.c
index 3132778..44273fa 100644
--- a/src/imgstat/ui.c
+++ b/src/imgstat/ui.c
@@ -32,16 +32,16 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "forqsort.h"
-#include "arraymanip.h"
-#include "statistics.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/qsort.h>
+#include <gnuastro/timing.h>   /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/fixedstringmacros.h>
 
 #include "main.h"
 
diff --git a/src/imgwarp/Makefile.am b/src/imgwarp/Makefile.am
index d3a76be..3188709 100644
--- a/src/imgwarp/Makefile.am
+++ b/src/imgwarp/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -36,8 +36,9 @@ bin_PROGRAMS = astimgwarp
 astimgwarp_SOURCES = main.c main.h cite.h ui.c ui.h args.h     \
 imgwarp.c imgwarp.h
 
-astimgwarp_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -ltxtarrayvv -lcheckset -ltiming -lastrthreads -lpolygon
+astimgwarp_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la  \
+-lgalconfigfiles -lgalfitsarrayvv -lgaltxtarrayvv -lgalcheckset        \
+-lgaltiming -lgalthreads -lgalpolygon
 
 
 
@@ -53,5 +54,5 @@ dist_sysconf_DATA = astimgwarp.conf
 ## Generally for the man pages:
 dist_man_MANS = astimgwarp.1
 
-astimgwarp.1: args.h $(top_srcdir)/include/commonargs.h
+astimgwarp.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astimgwarp
diff --git a/src/imgwarp/args.h b/src/imgwarp/args.h
index 71df003..2e53ce8 100644
--- a/src/imgwarp/args.h
+++ b/src/imgwarp/args.h
@@ -25,8 +25,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "fixedstringmacros.h"
-#include "commonargs.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/imgwarp/imgwarp.c b/src/imgwarp/imgwarp.c
index 6fab887..53cb223 100644
--- a/src/imgwarp/imgwarp.c
+++ b/src/imgwarp/imgwarp.c
@@ -28,10 +28,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <float.h>
 #include <stdlib.h>
 
-#include "fitsarrayvv.h"
+#include <gnuastro/polygon.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
-#include "polygon.h"
 #include "imgwarp.h"
 
 
diff --git a/src/imgwarp/imgwarp.h b/src/imgwarp/imgwarp.h
index 3463660..c7567b7 100644
--- a/src/imgwarp/imgwarp.h
+++ b/src/imgwarp/imgwarp.h
@@ -23,7 +23,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef IMGTRANSFORM_H
 #define IMGTRANSFORM_H
 
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 struct iwpparams
 {
diff --git a/src/imgwarp/main.c b/src/imgwarp/main.c
index 8fc6291..4f15dae 100644
--- a/src/imgwarp/main.c
+++ b/src/imgwarp/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 #include "ui.h"                 /* Needs main.h.                  */
diff --git a/src/imgwarp/main.h b/src/imgwarp/main.h
index 26640b2..95e7e46 100644
--- a/src/imgwarp/main.h
+++ b/src/imgwarp/main.h
@@ -25,7 +25,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <pthread.h>
 
-#include "commonparams.h"
+#include <gnuastro/commonparams.h>
 
 
 
diff --git a/src/imgwarp/ui.c b/src/imgwarp/ui.c
index a22b573..4d8cd11 100644
--- a/src/imgwarp/ui.c
+++ b/src/imgwarp/ui.c
@@ -31,12 +31,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>           /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mkcatalog/Makefile.am b/src/mkcatalog/Makefile.am
index 0c45924..34828c3 100644
--- a/src/mkcatalog/Makefile.am
+++ b/src/mkcatalog/Makefile.am
@@ -26,7 +26,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -39,8 +39,9 @@ bin_PROGRAMS = astmkcatalog
 astmkcatalog_SOURCES = main.c main.h cite.h ui.c ui.h args.h   \
 mkcatalog.c mkcatalog.h columns.c columns.h
 
-astmkcatalog_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -lcheckset -ltiming -llinkedlist -ltxtarrayvv
+astmkcatalog_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la        \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming    \
+-lgallinkedlist -lgaltxtarrayvv
 
 
 
@@ -56,5 +57,5 @@ dist_sysconf_DATA = astmkcatalog.conf
 ## Generally for the man pages:
 dist_man_MANS = astmkcatalog.1
 
-astmkcatalog.1: args.h $(top_srcdir)/include/commonargs.h
+astmkcatalog.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astmkcatalog
diff --git a/src/mkcatalog/args.h b/src/mkcatalog/args.h
index 4a4a0dc..89ec73d 100644
--- a/src/mkcatalog/args.h
+++ b/src/mkcatalog/args.h
@@ -25,9 +25,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "linkedlist.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/mkcatalog/columns.c b/src/mkcatalog/columns.c
index 7dce7ee..9e7d9a9 100644
--- a/src/mkcatalog/columns.c
+++ b/src/mkcatalog/columns.c
@@ -37,7 +37,6 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-
 #include "main.h"
 
 #include "columns.h"
diff --git a/src/mkcatalog/main.c b/src/mkcatalog/main.c
index 2c1968a..85fce90 100644
--- a/src/mkcatalog/main.c
+++ b/src/mkcatalog/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/mkcatalog/main.h b/src/mkcatalog/main.h
index e087189..10a8c02 100644
--- a/src/mkcatalog/main.h
+++ b/src/mkcatalog/main.h
@@ -23,8 +23,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astmkcatalog" /* Subpackage executable name. */
diff --git a/src/mkcatalog/mkcatalog.c b/src/mkcatalog/mkcatalog.c
index 1911386..abf3880 100644
--- a/src/mkcatalog/mkcatalog.c
+++ b/src/mkcatalog/mkcatalog.c
@@ -30,10 +30,10 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "timing.h"
-#include "neighbors.h"
-#include "txtarrayvv.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/neighbors.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mkcatalog/ui.c b/src/mkcatalog/ui.c
index 66a5f8c..f235bab 100644
--- a/src/mkcatalog/ui.c
+++ b/src/mkcatalog/ui.c
@@ -32,12 +32,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"             /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mknoise/Makefile.am b/src/mknoise/Makefile.am
index 4a27780..959623f 100644
--- a/src/mknoise/Makefile.am
+++ b/src/mknoise/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -36,8 +36,8 @@ bin_PROGRAMS = astmknoise
 astmknoise_SOURCES = main.c main.h cite.h ui.c ui.h args.h     \
 mknoise.c mknoise.h
 
-astmknoise_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -lcheckset -ltiming -lastrthreads
+astmknoise_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la           \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming -lgalthreads
 
 
 
@@ -53,5 +53,5 @@ dist_sysconf_DATA = astmknoise.conf
 ## Generally for the man pages:
 dist_man_MANS = astmknoise.1
 
-astmknoise.1: args.h $(top_srcdir)/include/commonargs.h
+astmknoise.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astmknoise
diff --git a/src/mknoise/args.h b/src/mknoise/args.h
index 290fe6d..f93fbf8 100644
--- a/src/mknoise/args.h
+++ b/src/mknoise/args.h
@@ -25,8 +25,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "fixedstringmacros.h"
-#include "commonargs.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/mknoise/main.c b/src/mknoise/main.c
index 56a9232..736f488 100644
--- a/src/mknoise/main.c
+++ b/src/mknoise/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/mknoise/main.h b/src/mknoise/main.h
index 09c5661..a7cb8c8 100644
--- a/src/mknoise/main.h
+++ b/src/mknoise/main.h
@@ -26,8 +26,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <pthread.h>
 #include <gsl/gsl_rng.h>
 
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astmknoise" /* Subpackage executable name. */
diff --git a/src/mknoise/mknoise.c b/src/mknoise/mknoise.c
index a86a1c2..673abc4 100644
--- a/src/mknoise/mknoise.c
+++ b/src/mknoise/mknoise.c
@@ -32,8 +32,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <gsl/gsl_rng.h>        /* Used in setrandoms.   */
 #include <gsl/gsl_randist.h>    /* To make noise.        */
 
-#include "timing.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mknoise/ui.c b/src/mknoise/ui.c
index caf949d..f2a6f2a 100644
--- a/src/mknoise/ui.c
+++ b/src/mknoise/ui.c
@@ -32,12 +32,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mkprof/Makefile.am b/src/mkprof/Makefile.am
index 75b7d41..14c64b3 100644
--- a/src/mkprof/Makefile.am
+++ b/src/mkprof/Makefile.am
@@ -24,7 +24,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lgsl -lgslcblas -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -35,9 +35,10 @@ bin_PROGRAMS = astmkprof
 astmkprof_SOURCES = main.c main.h ui.c ui.h mkprof.c mkprof.h args.h   \
 oneprofile.c oneprofile.h profiles.c profiles.h cite.h
 
-astmkprof_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la -lconfigfiles \
--lfitsarrayvv -ltxtarrayvv -lcheckset -llinkedlist -ltiming -lastrthreads  \
--lbox -lstatistics -larraymanip -lforqsort
+astmkprof_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la           \
+-lgalconfigfiles -lgalfitsarrayvv -lgaltxtarrayvv -lgalcheckset                
\
+-lgallinkedlist -lgaltiming -lgalthreads -lgalbox -lgalstatistics      \
+-lgalarraymanip -lgalqsort
 
 
 
@@ -51,5 +52,5 @@ dist_sysconf_DATA = astmkprof.conf
 ## Generally for the man pages:
 dist_man_MANS = astmkprof.1
 
-astmkprof.1: args.h $(top_srcdir)/include/commonargs.h
+astmkprof.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astmkprof
diff --git a/src/mkprof/args.h b/src/mkprof/args.h
index 608188b..645af95 100644
--- a/src/mkprof/args.h
+++ b/src/mkprof/args.h
@@ -23,8 +23,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef ARGS_H
 #define ARGS_H
 
-#include "commonargs.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/mkprof/main.c b/src/mkprof/main.c
index 415217f..afb2b10 100644
--- a/src/mkprof/main.c
+++ b/src/mkprof/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 #include "mkprof.h"
diff --git a/src/mkprof/main.h b/src/mkprof/main.h
index dae7498..c120103 100644
--- a/src/mkprof/main.h
+++ b/src/mkprof/main.h
@@ -26,8 +26,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <pthread.h>
 #include <gsl/gsl_rng.h>
 
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 
 /* Progarm name macros: */
diff --git a/src/mkprof/mkprof.c b/src/mkprof/mkprof.c
index be2f027..e22bc72 100644
--- a/src/mkprof/mkprof.c
+++ b/src/mkprof/mkprof.c
@@ -29,14 +29,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "box.h"
-#include "timing.h"
-#include "checkset.h"
-#include "statistics.h"
-#include "arraymanip.h"
-#include "txtarrayvv.h"
-#include "astrthreads.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/box.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/threads.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mkprof/mkprof.h b/src/mkprof/mkprof.h
index 1e507bb..379d04d 100644
--- a/src/mkprof/mkprof.h
+++ b/src/mkprof/mkprof.h
@@ -23,7 +23,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MOCKGALS_H
 #define MOCKGALS_H
 
-#include "astrthreads.h"
+#include <gnuastro/threads.h>
 
 #include "main.h"
 
diff --git a/src/mkprof/oneprofile.c b/src/mkprof/oneprofile.c
index 7d327dd..28b825e 100644
--- a/src/mkprof/oneprofile.c
+++ b/src/mkprof/oneprofile.c
@@ -33,12 +33,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <gsl/gsl_randist.h>    /* To make noise.       */
 #include <gsl/gsl_integration.h> /* gsl_integration_qng  */
 
-#include "timing.h"
-#include "neighbors.h"
-#include "arraymanip.h"
-#include "statistics.h"
-#include "linkedlist.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/neighbors.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/mkprof/ui.c b/src/mkprof/ui.c
index 2f374d4..7e39541 100644
--- a/src/mkprof/ui.c
+++ b/src/mkprof/ui.c
@@ -31,14 +31,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                   */
 
-#include "box.h"
-#include "timing.h"            /* Includes time.h and sys/time.h */
-#include "checkset.h"
-#include "statistics.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/box.h>
+#include <gnuastro/timing.h>     /* Includes time.h and sys/time.h */
+#include <gnuastro/checkset.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 #include "mkprof.h"
diff --git a/src/noisechisel/Makefile.am b/src/noisechisel/Makefile.am
index b0660ea..734008e 100644
--- a/src/noisechisel/Makefile.am
+++ b/src/noisechisel/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -38,9 +38,10 @@ noisechisel.c noisechisel.h thresh.c thresh.h binary.c 
binary.h              \
 label.c label.h detection.c detection.h sky.c sky.h segmentation.c     \
 segmentation.h clumps.c clumps.h
 
-astnoisechisel_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la            \
--lconfigfiles -lfitsarrayvv -lcheckset -ltiming -lmesh -lspatialconvolve     \
--lastrthreads -lmode -lstatistics -larraymanip -lforqsort -llinkedlist -lbox
+astnoisechisel_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la      \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming -lgalmesh  \
+-lgalspatialconvolve -lgalthreads -lgalmode -lgalstatistics            \
+-lgalarraymanip -lgalqsort -lgallinkedlist -lgalbox
 
 
 
@@ -56,5 +57,5 @@ dist_sysconf_DATA = astnoisechisel.conf
 ## Generally for the man pages:
 dist_man_MANS = astnoisechisel.1
 
-astnoisechisel.1: args.h $(top_srcdir)/include/commonargs.h
+astnoisechisel.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astnoisechisel
diff --git a/src/noisechisel/args.h b/src/noisechisel/args.h
index afa1870..282c9eb 100644
--- a/src/noisechisel/args.h
+++ b/src/noisechisel/args.h
@@ -25,8 +25,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/noisechisel/binary.c b/src/noisechisel/binary.c
index 5289b7f..87e4301 100644
--- a/src/noisechisel/binary.c
+++ b/src/noisechisel/binary.c
@@ -28,12 +28,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
+#include <gnuastro/fitsarrayvv.h>
+
 #include "main.h"
 
 #include "label.h"
 #include "binary.h"
-#include "fitsarrayvv.h"
-
 
 
 
diff --git a/src/noisechisel/binary.h b/src/noisechisel/binary.h
index 10ac0d2..5675b95 100644
--- a/src/noisechisel/binary.h
+++ b/src/noisechisel/binary.h
@@ -28,7 +28,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 
 /* For the GAL_FITSARRAY_BYTE_BLANK value: */
-#include "fitsarrayvv.h"
+#include <gnuastro/fitsarrayvv.h>
 
 
 
diff --git a/src/noisechisel/clumps.c b/src/noisechisel/clumps.c
index f751962..28210d9 100644
--- a/src/noisechisel/clumps.c
+++ b/src/noisechisel/clumps.c
@@ -29,14 +29,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "timing.h"
-#include "checkset.h"
-#include "forqsort.h"
-#include "neighbors.h"
-#include "arraymanip.h"
-#include "linkedlist.h"
-#include "statistics.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/qsort.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/neighbors.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/detection.c b/src/noisechisel/detection.c
index 1d6f04f..341f326 100644
--- a/src/noisechisel/detection.c
+++ b/src/noisechisel/detection.c
@@ -27,14 +27,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
-#include "mesh.h"
-#include "timing.h"
-#include "forqsort.h"
-#include "checkset.h"
-#include "arraymanip.h"
-#include "statistics.h"
-#include "astrthreads.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/qsort.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/threads.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/label.c b/src/noisechisel/label.c
index f9e92ac..94aab94 100644
--- a/src/noisechisel/label.c
+++ b/src/noisechisel/label.c
@@ -28,9 +28,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "neighbors.h"
-#include "linkedlist.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/neighbors.h>
+#include <gnuastro/linkedlist.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/label.h b/src/noisechisel/label.h
index df3fcc8..e0badc7 100644
--- a/src/noisechisel/label.h
+++ b/src/noisechisel/label.h
@@ -28,7 +28,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 
 /* For the GAL_FITSARRAY_LONG_BLANK and GAL_FITSARRAY_BYTE_BLANK macros: */
-#include "fitsarrayvv.h"
+#include <gnuastro/fitsarrayvv.h>
 
 
 /* In case the blank value for the long type is negative, the only
diff --git a/src/noisechisel/main.c b/src/noisechisel/main.c
index 5a1c378..5841d86 100644
--- a/src/noisechisel/main.c
+++ b/src/noisechisel/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>     /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/noisechisel/main.h b/src/noisechisel/main.h
index 027e78d..771e5ca 100644
--- a/src/noisechisel/main.h
+++ b/src/noisechisel/main.h
@@ -23,9 +23,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "mesh.h"
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astnoisechisel" /* Subpackage executable name. */
diff --git a/src/noisechisel/noisechisel.c b/src/noisechisel/noisechisel.c
index 388ca01..0eaddb5 100644
--- a/src/noisechisel/noisechisel.c
+++ b/src/noisechisel/noisechisel.c
@@ -28,10 +28,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "timing.h"
-#include "binary.h"
-#include "arraymanip.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/segmentation.c b/src/noisechisel/segmentation.c
index 2b40f88..63f8d56 100644
--- a/src/noisechisel/segmentation.c
+++ b/src/noisechisel/segmentation.c
@@ -28,9 +28,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <string.h>
 #include <stdlib.h>
 
-#include "forqsort.h"
-#include "neighbors.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/qsort.h>
+#include <gnuastro/neighbors.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/sky.c b/src/noisechisel/sky.c
index 0437f14..018bd04 100644
--- a/src/noisechisel/sky.c
+++ b/src/noisechisel/sky.c
@@ -27,9 +27,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
-#include "mesh.h"
-#include "forqsort.h"
-#include "statistics.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/qsort.h>
+#include <gnuastro/statistics.h>
 
 #include "main.h"
 
diff --git a/src/noisechisel/thresh.c b/src/noisechisel/thresh.c
index ab634e3..200374c 100644
--- a/src/noisechisel/thresh.c
+++ b/src/noisechisel/thresh.c
@@ -27,12 +27,12 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
-#include "mode.h"
-#include "timing.h"
-#include "forqsort.h"
-#include "checkset.h"
-#include "statistics.h"
-#include "spatialconvolve.h"
+#include <gnuastro/mode.h>
+#include <gnuastro/qsort.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/checkset.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/spatialconvolve.h>
 
 #include "main.h"
 #include "noisechisel.h"
diff --git a/src/noisechisel/ui.c b/src/noisechisel/ui.c
index 84c7f35..c7050b7 100644
--- a/src/noisechisel/ui.c
+++ b/src/noisechisel/ui.c
@@ -32,14 +32,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "commonargs.h"
-#include "arraymanip.h"
-#include "statistics.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>    /* includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/subtractsky/Makefile.am b/src/subtractsky/Makefile.am
index 3e4d325..77f75d9 100644
--- a/src/subtractsky/Makefile.am
+++ b/src/subtractsky/Makefile.am
@@ -23,7 +23,7 @@ AM_CFLAGS = -Wall -O3
 
 AM_LDFLAGS = -lcfitsio -lwcs -lm -L$(top_builddir)/lib
 
-AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/include \
+AM_CPPFLAGS = -DSYSCONFIG_DIR=\"$(sysconfdir)\" -I$(top_srcdir)/lib    \
 -I$(top_builddir)/bootstrapped/lib -I$(top_srcdir)/bootstrapped/lib
 
 
@@ -36,9 +36,10 @@ bin_PROGRAMS = astsubtractsky
 astsubtractsky_SOURCES = main.c main.h cite.h ui.c ui.h args.h \
 subtractsky.c subtractsky.h
 
-astsubtractsky_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la            \
--lconfigfiles -lfitsarrayvv -lcheckset -ltiming -lmesh -lspatialconvolve     \
--lastrthreads -lmode -lstatistics -larraymanip -lforqsort -llinkedlist -lbox
+astsubtractsky_LDADD = $(top_builddir)/bootstrapped/lib/libgnu.la      \
+-lgalconfigfiles -lgalfitsarrayvv -lgalcheckset -lgaltiming -lgalmesh  \
+-lgalspatialconvolve -lgalthreads -lgalmode -lgalstatistics            \
+-lgalarraymanip -lgalqsort -lgallinkedlist -lgalbox
 
 
 
@@ -54,5 +55,5 @@ dist_sysconf_DATA = astsubtractsky.conf
 ## Generally for the man pages:
 dist_man_MANS = astsubtractsky.1
 
-astsubtractsky.1: args.h $(top_srcdir)/include/commonargs.h
+astsubtractsky.1: args.h $(top_srcdir)/lib/gnuastro/commonargs.h
        -$(HELP2MAN) --output=$@ --source="$(PACKAGE_STRING)" ./astsubtractsky
diff --git a/src/subtractsky/args.h b/src/subtractsky/args.h
index 95ca94b..ef87011 100644
--- a/src/subtractsky/args.h
+++ b/src/subtractsky/args.h
@@ -25,8 +25,8 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <argp.h>
 
-#include "commonargs.h"
-#include "fixedstringmacros.h"
+#include <gnuastro/commonargs.h>
+#include <gnuastro/fixedstringmacros.h>
 
 
 
diff --git a/src/subtractsky/main.c b/src/subtractsky/main.c
index f97f8cf..c444d1d 100644
--- a/src/subtractsky/main.c
+++ b/src/subtractsky/main.c
@@ -26,7 +26,7 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <stdlib.h>
 #include <progname.h>
 
-#include "timing.h"            /* Includes time.h and sys/time.h */
+#include <gnuastro/timing.h>    /* Includes time.h and sys/time.h */
 
 #include "main.h"
 
diff --git a/src/subtractsky/main.h b/src/subtractsky/main.h
index dff3d6e..7f85d89 100644
--- a/src/subtractsky/main.h
+++ b/src/subtractsky/main.h
@@ -23,9 +23,9 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #ifndef MAIN_H
 #define MAIN_H
 
-#include "mesh.h"
-#include "fitsarrayvv.h"
-#include "commonparams.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/fitsarrayvv.h>
+#include <gnuastro/commonparams.h>
 
 /* Progarm name macros: */
 #define SPACK           "astsubtractsky" /* Subpackage executable name. */
diff --git a/src/subtractsky/subtractsky.c b/src/subtractsky/subtractsky.c
index 3c974d3..a104852 100644
--- a/src/subtractsky/subtractsky.c
+++ b/src/subtractsky/subtractsky.c
@@ -27,13 +27,13 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 #include <error.h>
 #include <stdlib.h>
 
-#include "mesh.h"
-#include "mode.h"
-#include "timing.h"
-#include "forqsort.h"
-#include "statistics.h"
-#include "arraymanip.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/mesh.h>
+#include <gnuastro/mode.h>
+#include <gnuastro/qsort.h>
+#include <gnuastro/timing.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 
diff --git a/src/subtractsky/ui.c b/src/subtractsky/ui.c
index ed3edf4..cf63e40 100644
--- a/src/subtractsky/ui.c
+++ b/src/subtractsky/ui.c
@@ -32,14 +32,14 @@ along with Gnuastro. If not, see 
<http://www.gnu.org/licenses/>.
 
 #include <nproc.h>              /* From Gnulib.                     */
 
-#include "timing.h"            /* Includes time.h and sys/time.h   */
-#include "checkset.h"
-#include "txtarrayvv.h"
-#include "statistics.h"
-#include "arraymanip.h"
-#include "commonargs.h"
-#include "configfiles.h"
-#include "fitsarrayvv.h"
+#include <gnuastro/timing.h>           /* Includes time.h and sys/time.h   */
+#include <gnuastro/checkset.h>
+#include <gnuastro/txtarrayvv.h>
+#include <gnuastro/statistics.h>
+#include <gnuastro/arraymanip.h>
+#include <gnuastro/commonargs.h>
+#include <gnuastro/configfiles.h>
+#include <gnuastro/fitsarrayvv.h>
 
 #include "main.h"
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]