1
EXECUTABLE = planettool
2
include planettool-version.inc
8
CFLAGS = -I$(FPM_PATH) -I$(OOMATHS_PATH) -DOOMATHS_STANDALONE=1 -DPLANETTOOL_VERSION="\"$(PLANETTOOL_VERSION)\"" -g -ffast-math
13
scheduler = PThreadScheduler
16
ifeq ($(scheduler),PThreadScheduler)
22
CFLAGS += -O3 -ftree-vectorize -funroll-loops
27
CFLAGS += -DNO_ASPRINTF
35
FPM_PATH = $(srcdir)/FloatPixMap/
39
OOMATHS_PATH = $(srcdir)/Oolite/
41
OOMATHS_PATH = $(srcdir)/../../src/Core/
47
vpath %.h $(FPM_PATH):$(OOMATHS_PATH)
49
vpath %.m $(OOMATHS_PATH)
54
CORE_OBJECTS = main.o SphericalPixelSource.o ReadLatLong.o ReadCube.o LatLongGridGenerator.o RenderToLatLong.o RenderToCube.o RenderToMercator.o RenderToGallPeters.o MatrixTransformer.o CosineBlurFilter.o $(scheduler).o
55
FPM_OBJECTS = FloatPixMap.o FPMGamma.o FPMImageOperations.o FPMPNG.o FPMQuantize.o FPMRaw.o
56
OOMATHS_OBJECTS = OOFastArithmetic.o OOMatrix.o OOQuaternion.o OOVector.o
58
OBJECTS = $(CORE_OBJECTS) $(FPM_OBJECTS) $(OOMATHS_OBJECTS)
61
planettool: $(OBJECTS)
62
$(LD) -o $(EXECUTABLE) $(LDFLAGS) $(OBJECTS)
65
# Rule to compile Objective-C maths files as C.
67
$(CC) -c -x c $(CFLAGS) -o $@ $<
71
SphericalPixelSource.h: FloatPixMap.h
72
LatLongGridGenerator.h ReadLatLong.h ReadCube.h MatrixTransformer.h RenderToLatLong.h RenderToCube.h PlanetToolScheduler.h: SphericalPixelSource.h
74
main.o: FPMPNG.h LatLongGridGenerator.h ReadLatLong.h MatrixTransformer.h RenderToLatLong.h RenderToCube.h
76
SphericalPixelSource.o: SphericalPixelSource.h
77
ReadLatLong.o: ReadLatLong.h FPMImageOperations.h PlanetToolScheduler.h
78
ReadCube.o: ReadCube.h FPMImageOperations.h PlanetToolScheduler.h
79
RenderToLatLong.o: RenderToLatLong.h FPMImageOperations.h
80
RenderToMercator.o: RenderToMercator.h FPMImageOperations.h
81
RenderToGallPeters.o: RenderToGallPeters.h FPMImageOperations.h
82
LatLongGridGenerator.o: LatLongGridGenerator.h
83
RenderToCube.o: RenderToCube.h FPMImageOperations.h
84
MatrixTransformer.o: MatrixTransformer.h
85
CosineBlurFilter.o: CosineBlurFilter.h
86
SerialScheduler.o PListScheduler.o: PlanetToolScheduler.h
89
# FloatPixMap dependencies.
90
FloatPixMap.h FPMVector.h: FPMBasics.h
91
FPMPNG.h FPMGamma.h FPMImageOperations.h FPMQuantize.h FPMRaw.h : FloatPixMap.h
92
FPMPNG.h : FPMGamma.h FPMQuantize.h
94
FloatPixMap.o: FloatPixMap.h
95
FPMGamma.o: FPMGamma.h FPMImageOperations.h
96
FPMImageOperations.o: FPMImageOperations.h FPMVector.h
98
FPMQuantize.o: FPMQuantize.h FPMImageOperations.h
99
FPMRaw.o: FPMRaw.h FPMImageOperations.h
105
-rm -f *.o $(EXECUTABLE)