makefile

CC = gcc
CFLAGS = -Wall -O3
LIBS = -lm
PROGRAM = main.exe    # when using gcc on windows
# PROGRAM = main    # when using gcc on linux
SRCS = main.c gram_schmidt_orth.c
OBJS = $(SRCS:.c=.o)


.c.o:
  $(CC) $(CFLAGS) -c $<


.SUFFIXES: .c .o


all : $(PROGRAM)


$(PROGRAM) : ${OBJS}
  $(CC) $(CFLAGS) -o $@ ${OBJS} $(LIBS)


main.o              : main.c               main.h
gram_schmidt_orth.o : gram_schmidt_orth.c  main.h


clean:
  rm *.o
  rm $(PROGRAM)