# Environment Variables Ok this is kind of getting interesting. ## Building This makefile is kind of interesting. To build and name our program we just need to: ``` make P="env" ``` Ok I don't really know the magic that is going on behind that one. Notice though that you are passing that variable after calling the program. Technically, I think it's supposed to work like this: ``` make CFLAGS="-g -Wall" Set a makefile variable. CFLAGS="-g -Wall" make Set an environment variable that only make and its children see. ``` But on my mac I am noticing only the set makefile variable method works.