I recently found a nifty little program called hotwayd, which is a hotmail-pop3 gateway. I noticed when installing it that the internal include files for the program are installed also. I do not believe that it should do this (since it is not a library or anything). I looked at the Makefile.am file and I see the following in it:
include_HEADERS = \ hotwayd.h \ httpmail.h \ ghttp.h \ ghttp_constants.h I am guessing this is what is causing them to get installed so I want to change this, but I am not exactly sure how. My gut feeling is to stick these files up in the hotwayd_SOURCES directive but not being an expert at Automake I wanted to run that by you guys before I made the change. What is the proper way to specify internal .h files in Automake? My next question is not really one of correct functionality, but of style. In this same package a modified version of libghttp is included. The program simply statically links the library to the hotwayd binary. It is located in a subdirectory called libghttp-1.0.9-mod/ and is specified in the Automake.am file as: hotwayd_LDADD = \ libghttp-1.0.9-mod/ghttp.c \ libghttp-1.0.9-mod/http_date.c \ libghttp-1.0.9-mod/http_hdrs.c \ libghttp-1.0.9-mod/http_req.c \ libghttp-1.0.9-mod/http_resp.c \ libghttp-1.0.9-mod/http_trans.c \ libghttp-1.0.9-mod/http_uri.c \ libghttp-1.0.9-mod/http_base64.c \ libghttp-1.0.9-mod/http_digest.c \ libghttp-1.0.9-mod/md5c.c libghttp also uses Automake so I was wondering if this would be better done using the SUBDIRS directive and then having something like the following: hotwayd_LDADD = libghttp-1.0.9-mod/libghttp.a But I was not exactly sure how to specify this. When I tried to put a SUBDIRS directive in the Makefile.am, and add libghttp-1.0.9-mod/Makefile to the output list in the configure file (I also had to change the configure file to check for libtool) it gave me the below error when I tried to "make": Makefile:226: *** missing separator. Stop. If I look at the Makefile at line 226 I see the following: @SET_MAKE@ This looks to me like some variable is not getting substituted, but I am not sure why or how to fix it. Am I making this too hard on myself and should just leave the SUBDIRS directive out? It seems to me that the dependencies would be reduced by having it in. Then all hotwayd has to know is that the libghttp library is in the subdirectory of libghttp-1.0.9-mod and that the resulting library file is libghttp.a. It would not have to know the names of all the source files in libghttp (which might change in future versions). What is the general method of including a static library in a program (or a modified version of a standard library)? Any help is greatly appreciated. -- Eric Anderson