-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Oh, they are in literally $(testd)/.deps (not ctests/.deps)... I guess this is that old bug then?
This bug really is kind of a problem with automake pressuring people into enabling subdir-objects :-/ I guess I'll not enable it then until a fix is shipped. Is this already fixed in any upcoming version or is there an estimate when this will be out? Also, can a Makefile.am file somehow detect a broken automake version? Or is there another way to enable subdir-objects to please automake 2.0, but to still support broken old automake that cannot expand the paths properly? Regards, Jonas Thiem On 04/13/2014 03:47 AM, Jonas Thiem wrote: > Hi, > > I have some unit tests building in sub directories. It took me a > while to get them working (admittedly also due to my limited > automake/autotools knowledge), but with subdir-objects enabled > they won't run anymore and I'm uncertain what to do to make them > work again. > > Makefile.am excerpt: > > # [...] > > source_code_files = audio.c audiomixer.c audiosourcefadepanvol.c > audiosourceffmpeg.c audiosourceflac.c audiosourcefile.c > audiosourceformatconvert.c audiosourceloop.c audiosourceogg.c > audiosourceprereadcache.c audiosourceresample.c > audiosourceresourcefile.c audiosourcewave.c avl-tree/avl-tree.c > avl-tree-helpers.c connections.c file.c filelist.c diskcache.c > graphics.c graphics2dsprites.c graphics2dspriteslist.c > graphics2dspritestree.c graphicscamera.c graphicsnull.c > graphicsnullrender.c graphicsnulltexture.c graphicsogre.cpp > graphicsogrerender.cpp graphicssdl.c graphicssdlglext.c > graphicssdlrender.c graphicssdltexture.c graphicstexturelist.c > graphicstextureloader.c graphicstexturemanager.c > graphicstexturemanagermembudget.c hash.c hostresolver.c ipcheck.c > library.c listeners.c logging.c luaerror.c luafuncs.c > luafuncs_debug.c luafuncs_graphics.c luafuncs_graphics_camera.c > luafuncs_media_object.c luafuncs_net.c luafuncs_object.c > luafuncs_objectgraphics.c luafuncs_objectphysics.c luafuncs_os.c > luafuncs_physics.c luafuncs_rundelayed.c luafuncs_string.c > luafuncs_vector.c luastate.c luastate_functionTables.c main.c > mathhelpers.c orderedExecution.c osinfo.c physics.cpp > physicsinternal.cpp poolAllocator.c signalhandling.c threading.c > timefuncs.c win32console.c resources.c sockets.c > zipdecryptionnone.c zipfile.c > > # [...] other omitted unrelated stuff > > # ------------- # Unit test section # ------------- TESTS= testd = > ctests TEST_CFLAGS= $(AM_CFLAGS) -DUNITTEST > > # ------------- # C tests # ------------- check_PROGRAMS = > $(testd)/test-imgloader $(testd)/test-texman-1 > $(testd)/test-imgloader-colors __testd__test_imgloader_SOURCES = > $(testd)/test-imgloader.c $(source_code_files) > __testd__test_imgloader_LDFLAGS = $(FINAL_LD_FLAGS) > __testd__test_imgloader_CFLAGS = $(TEST_CFLAGS) > __testd__test_imgloader_colors_SOURCES = > $(testd)/test-imgloader-colors.c $(source_code_files) > __testd__test_imgloader_colors_LDFLAGS = $(FINAL_LD_FLAGS) > __testd__test_imgloader_colors_CFLAGS = $(TEST_CFLAGS) > __testd__test_texman_1_SOURCES = $(testd)/test-texman-1.c > $(source_code_files) __testd__test_texman_1_LDFLAGS = > $(FINAL_LD_FLAGS) __testd__test_texman_1_CFLAGS = $(TEST_CFLAGS) > TESTS += $(testd)/test-imgloader $(testd)/test-texman-1 > $(testd)/test-imgloader-colors > > > Basically, I want to link the tests in the "ctests/" subdirectory > (referenced with $(testd)/ in most places) together with the main > object files of the main program (as listed in > $source_code_files). > > That worked fine before, but with subdir-objects enabled, this > happens: > > make[1]: Entering directory '/home/jonas/Develop/blitwizard/src' > Makefile:1143: > ctests/.deps/__testd__test_imgloader-test-imgloader.Po: No such > file or directory Makefile:1144: > ctests/.deps/__testd__test_imgloader_colors-test-imgloader-colors.Po: > > No such file or directory > Makefile:1145: > ctests/.deps/__testd__test_texman_1-test-texman-1.Po: No such file > or directory make[1]: *** No rule to make target > 'ctests/.deps/__testd__test_texman_1-test-texman-1.Po'. Stop. > make[1]: Leaving directory '/home/jonas/Develop/blitwizard/src' > > The .Po files it searches are inside .deps/ not ctests/.deps/. > > So since those .Po files are in the wrong place, is that my fault? > Why would automake place them in some other place than it expects > them? What can I do to fix that? While I kind of understand the > problem (files in wrong place), I have no idea what to do about > it.. > > Regards, Jonas Thiem > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJTSe6QAAoJEBIDTbbx8Ykevh0QAMuZh0s+TfZbdU/mD20iJ3dv q5V0eOVA4MrwinmcEjM0q0CnhvdgC+XdBAUY18enhBJL79W06UqTmU3XK1nD5Dn4 oX6xQv1iRgGHy58TTo+P2TsO3cbIm/TneV0oLGeeNziCbnsAv5YKA4HChAKKZ1/+ bcbIUXmavjrEwKWM0aogL2AJVujfHIEf4yXIvCPr1N/0VxSwClJvtvv4kljZCyhz rq+ywcJ997wj1zRUQEJ0iSiAAPzYKNMIGA1I9t6zUhHKBnC2y4JD7Njmro6eUPGE seqXcvXhPoknv0m2Ch63CNYYiqSfE1dPqXZZ9XoyfODPuYEYiVGyluVDkfnCQtKQ BNW5oqkBvTx4AHD7/lPfIITuLwHhA7sdi4kfZOsi6FuVKw5IMIK+ZkEwqHBr6P1N vQwEJIBy5JLaY+OGo1H7yZyQHx+5OfwdRMMgN/FY1XI/pUasVrQU/L75YzqmDkmc GdOaXkqJa4w4eUzC4Co9lngvAbUuT/U/QaGPnpQgM88/2ChUtfynXqFfwK6IbMu5 1eZrnnG8l4dopMPj08KcuEQkUYNMYb6C3ctJ+deiSPouZClSThcqY/PiGDxfXW/d yc4yN6yiT/NzoTGlThgbvMXSYu+FGkdPZHYuvnW3GMFWvPZwygTNNM8WIO45i66u yi4He6a8ICxpwnYt8VGb =jowD -----END PGP SIGNATURE-----