### MakeFile ###### CXX=g++ OPTS=-Wall OBJS=foo.o main.o foo: ${OBJS} ${CXX} ${OPTS} -o foo ${OBJS} main.o: foo.h main.cc ${CXX} ${OPTS} -c main.cc foo.o: foo.h foo.cc ${CXX} ${OPTS} -c foo.cc#include "foo.h" ### foo.cc ### void foo() { int arr[10]; arr[0] = 10; } ### foo.h ### #ifndef _FOO_H_ #define _FOO_H_ extern int arr[10]; void foo(); #endif ### main.c ### #include "foo.h" int main(int argc, char ** argv) { int arr[10]; arr[0] = 0; return 0; }