Files
projectm/src/libprojectM/Makefile.am
Mischa Spiegelmock e49720ecfa Preset subdirs (#385)
Scanning textures/presets dirs for textures and scanning preset dir for presets.
Scanning is now done recursively, so presets and textures can be organized into subdirectories instead of needing to be flattened into a single directory.

On POSIX systems makes use of [ftw](https://linux.die.net/man/3/ftw) which should be relatively efficient. Otherwise falls back to recursing with `dirent` (for windows).

Probably should have made an autoconf check for `ftw` instead of doing `#ifdef WIN32`. 

* Scan subdirectories in presets directory

* remove preset subdir config

* Recursively scan for textures too, add c++-17 compatibility

* Refactor directory scanning code so it's reused by texture loader and preset loader. Make cross-platform (maybe)

* filescanner in makefile

* extension filter for file loader

* make extensions match up'

* need string.h

* Add FileScanner.cpp to win build (maybe)

* scan all dirs

* #ifndef #ifdef is def fun

* bogus comment

* bleh

* bleh

* itunes plugin with c++17

* EyeTunes needs to know about the FileScanner

Co-authored-by: milkdropper.com <milkdropper.com@gmail.com>
Co-authored-by: milkdropper <59471060+milkdropper@users.noreply.github.com>
2020-07-28 22:01:56 +03:00

54 lines
2.1 KiB
Makefile

EXTRA_DIST=
CLEANFILES=
SUBDIRS=Renderer NativePresetFactory MilkdropPresetFactory
AM_CPPFLAGS = \
${my_CFLAGS} \
-include $(top_builddir)/config.h \
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-I$(top_srcdir)/src/libprojectM \
-I$(top_srcdir)/src/libprojectM/Renderer \
-I$(top_srcdir)/vendor
lib_LTLIBRARIES = libprojectM.la # public, possibly-shared library
# link flags
libprojectM_la_LDFLAGS = $(CG_LDFLAGS) -no-undefined -version-info 4:1:1
# link libRenderer, MilkdropPresetFactory, NativePresetFactory, and libprojectM sources
libprojectM_la_LIBADD = \
../libprojectM/MilkdropPresetFactory/libMilkdropPresetFactory.la \
../libprojectM/NativePresetFactory/libNativePresetFactory.la \
../libprojectM/Renderer/libRenderer.la
libprojectM_la_SOURCES = ConfigFile.cpp Preset.cpp PresetLoader.cpp timer.cpp \
KeyHandler.cpp PresetChooser.cpp TimeKeeper.cpp PCM.cpp PresetFactory.cpp \
fftsg.cpp wipemalloc.cpp PipelineMerger.cpp PresetFactoryManager.cpp projectM.cpp \
TestRunner.cpp TestRunner.hpp FileScanner.cpp FileScanner.hpp\
Common.hpp PipelineMerger.hpp PresetLoader.hpp\
HungarianMethod.hpp Preset.hpp RandomNumberGenerators.hpp\
IdleTextures.hpp PresetChooser.hpp TimeKeeper.hpp\
KeyHandler.hpp PresetFactory.hpp projectM.hpp\
BackgroundWorker.h \
PCM.hpp PresetFactoryManager.hpp\
projectM.hpp projectM-opengl.h \
ConfigFile.h \
carbontoprojectM.h \
cocoatoprojectM.h lvtoprojectM.h\
dlldefs.h resource.h\
event.h sdltoprojectM.h\
fatal.h timer.h\
fftsg.h\
glError.h wipemalloc.h\
omptl/omptl_numeric_extentions_ser.h\
omptl/omptl_algorithm_par.h omptl/omptl_numeric_par.h\
omptl/omptl_algorithm_ser.h omptl/omptl_numeric_ser.h\
omptl/omptl_numeric_extentions.h omptl/omptl_tools.h\
omptl/omptl_numeric_extentions_par.h omptl/omptl omptl/omptl_numeric\
omptl/omptl_algorithm
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libprojectM.pc
EXTRA_DIST += libprojectM.pc.in
CLEANFILES += libprojectM.pc