automake
[Top][All Lists]
Advanced

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

Long file lists and deep directioriies with Automake


From: PenguinDude24
Subject: Long file lists and deep directioriies with Automake
Date: Mon, 02 Dec 2013 15:21:47 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20121216 Icedove/3.0.11

I'm working on a project. Actually, I'm rennovating a project. And its mostly script files that do not need to be compiled with a C or C++ compiler; were talking Perl here.

Anyway, the package requries that many data files be installed. I'm telling Automake via Makefile.am to put them into the computed 'pkgdatadir'. And the app requires that files within a deep directory tree be installed. The whole app is like that. (This is a very popular app form 2001 that you all have heard of.)

For example:
# ---
app_template_files_list-1 = somedir1/somedir2/somdir3/actual_file.dat somedir1/somedir2/somdir3/someothe_file.dat [some more files here like those ...]

Automake generates the Makefile.in files, and configure makes the 'Makefile' for the directory. But the generated makefiles give errors. GNU Make gives the ominous 'missing separator error'. That errors can be triggered for a variety of reasons. Long file list for targets and deep nested dirs are at least two of the reasons.

And if GNU Make gives errors. I'm sure other Makes out there will make your computer explode. So I'm assuming all makes will give errors.

My work around for this is to used an install-data-hook in the Makefile.am. I used the configure computed values for pkgdatadir, and use the computed values for $(INSTALL) and $(MKDIR_P).

So my install-data-hook rule looks like this:

install-data-hook:
        $(MKDIR_P) $(pkgdatadir)/appdir1/appdir2/appdir3
        $(INSTALL) $(somedatafile_list0) $(pkgdatadir)/appdir1/appdir2/appdir3
        $(INSTALL) $(somedatafile_list1) $(pkgdatadir)/appdir1/appdir2/appdir3
        $(INSTALL) $(somedatafile_list2) $(pkgdatadir)/appdir1/appdir2/appdir3

Is this good Autoconf/Automake practice?



reply via email to

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