# source files. CC=gcc AR=ar rcs SRC = dep1.c dep11.c dep2.c ARCH = i386 OBJDIR = $(ARCH) OBJ = $(SRC:.c=.o) LIBNAME = libdeps.a CFLAGS=-g -pipe -Wall INCLUDES = -I. -I../include/ -I../../../include -I/usr/include -I/usr/lib/gcc/i386-redhat-linux/4.1.1/include/ -I../ -I../headers $(LIBNAME): $(OBJDIR)/$(OBJ) $(AR) $(LIBNAME) $(OBJDIR)/$(OBJ) $(OBJDIR)/%.c %.o: $(SRC) $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ clean: rm -f *.o i386/*.o //// output ////// gcc -I. -I../include/ -I../../../include -I/usr/include -I/usr/lib/gcc/i386-redhat-linux/4.1.1/include/ -I../ -I../headers -g -pipe -Wall -c dep1.c -o i386/dep1.o gcc -I. -I../include/ -I../../../include -I/usr/include -I/usr/lib/gcc/i386-redhat-linux/4.1.1/include/ -I../ -I../headers -g -pipe -Wall -c dep1.c -o dep11.o gcc -I. -I../include/ -I../../../include -I/usr/include -I/usr/lib/gcc/i386-redhat-linux/4.1.1/include/ -I../ -I../headers -g -pipe -Wall -c dep1.c -o dep2.o ar rcs libdeps.a i386/dep1.o dep11.o dep2.o Notice how the i386 directory is used only for the first source file!!