#linux or any machines with gcc compiler
CXX = gcc
CXXFLAGS = -std=c99 -Wall -pedantic -Wextra -O2

TARGET = OnlineConv

INCLUDE = \
	-I. \
	-I../ \
	-I../../src/ 

LIB = \
	-L. \
	-lm

SRC = \
	../../src/allocate.c \
	../../src/power.c \
	../../src/list.c \
	../../src/linklist.c \
	../../src/sparselink.c \
	../../src/sparseWT.c \
	../../src/psf.c \
	../../src/cimage.c \
	../../src/FastResize.c \
	../../src/SpaceVaryingConv.c \
	online_main_space_varying.c

%.o : %.c
	$(CXX) $(CXXFLAGS) $(INCLUDE) $(LIB) -o $@ -c $<

OBJS = $(addsuffix .o, $(basename $(SRC)))

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CXX) $(OBJS) $(CXXFLAGS) $(INCLUDE) $(LIB) -o $(TARGET)

clean: 
	/bin/rm $(OBJS) $(TARGET) 

%.o:  %.c %.h Makefile
