# Using Make's 'wildcard' function in Android.mk

Steve 12/02/2011. 2 answers, 8.933 views

I'm having a problem using Make's wildcard function in my Android.mk build file.

My other makefiles use a line like this one to specify "All .c files in this folder":

CFILES := $(wildcard *.c) In my Android.mk file I tried this: LOCAL_SRC_FILES :=$(wildcard *.c)

However, this has the same affect as not including any files at all.

If I include the files manually the build works as I'd expect.

I'm wondering if maybe the current working directory isn't my project path at the time this statement is evaluated? If so, can I use a combination of $(call my-dir) and the wildcard function to get the list I want? ### 2 Answers richq 12/10/2011. Here's what I've used in the past for doing this: LOCAL_PATH :=$(call my-dir)
include $(CLEAR_VARS) LOCAL_MODULE := mylibrary LOCAL_SRC_FILES :=$(wildcard $(LOCAL_PATH)/*.c) include$(BUILD_STATIC_LIBRARY)

'my-dir' is a macro provided by the build system and returns the path of the directory containing the Android.mk file.

slowdog 12/03/2011.

If your definition of "this directory" is "the directory containing this makefile", then

$(wildcard$(dir $(lastword$(MAKEFILE_LIST)))*.c)

ought to work.

(caveat: I don't know from Android)