# jnitest/Makefile

CC = gcc
CFLAGS = -Wall -g -O3 -fPIC

JAVA_HOME = /opt/jdk
JAVA_CFLAGS = \
 -I$(JAVA_HOME)/include \
 -I$(JAVA_HOME)/include/linux
FFTW_CFLAGS = $(shell pkg-config --cflags fftw3)
FFTW_LIBS = $(shell pkg-config --libs fftw3)
LIBS = $(FFTW_LIBS)

JFFTW_OBJS = \
 src/c/Plan.o \
 src/c/PlanC2c.o \
 src/c/PlanC2r.o \
 src/c/PlanR2c.o \
 src/c/PlanR2r.o \
 src/c/Sign.o \
 src/c/R2rKind.o \
 src/c/Flag.o
OBJS = $(JFFTW_OBJS)
TARGET = libjfftw3.so

.SUFFIXES:
.SUFFIXES: .c .o

.PHONY: all
all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) -shared $(CFLAGS) $(LFLAGS) -o $@ $(OBJS) $(FFTW_LIBS)

.c.o:
	$(CC) -c $(JAVA_CFLAGS) $(FFTW_CFLAGS) $(CFLAGS) -o $@ $<

src/c/Plan.o: include/jp_ac_kyoto_0005fu_jfftw3_Plan.h src/c/Plan.h

src/c/PlanC2c.o: include/jp_ac_kyoto_0005fu_jfftw3_PlanC2c.h src/c/Plan.h src/c/Flag.h src/c/Sign.h

src/c/PlanC2r.o: include/jp_ac_kyoto_0005fu_jfftw3_PlanC2r.h src/c/Plan.h src/c/Flag.h

src/c/PlanR2c.o: include/jp_ac_kyoto_0005fu_jfftw3_PlanR2c.h src/c/Plan.h src/c/Flag.h

src/c/PlanR2r.o: include/jp_ac_kyoto_0005fu_jfftw3_PlanR2r.h src/c/Plan.h src/c/R2rKind.h src/c/Flag.h

src/c/R2rKind.o: include/jp_ac_kyoto_0005fu_jfftw3_R2rKind.h src/c/R2rKind.h

src/c/Sign.o: include/jp_ac_kyoto_0005fu_jfftw3_Sign.h src/c/Sign.h

src/c/Flag.o: include/jp_ac_kyoto_0005fu_jfftw3_Flag.h src/c/Flag.h

.PHONY: clean
clean:
	$(RM) $(TARGET) $(OBJS)
