|
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 |
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?
[Prev in Thread] | Current Thread | [Next in Thread] |