Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. CXXFLAGS=-O3 -W -Wall -Wextra -Wno-unused-parameter -D_FILE_OFFSET_BITS=64
  2. OBJECTS=led-image-viewer.o text-scroller.o
  3. BINARIES=led-image-viewer text-scroller
  4. OPTIONAL_OBJECTS=video-viewer.o
  5. OPTIONAL_BINARIES=video-viewer
  6. # Where our library resides. You mostly only need to change the
  7. # RGB_LIB_DISTRIBUTION, this is where the library is checked out.
  8. RGB_LIB_DISTRIBUTION=..
  9. RGB_INCDIR=$(RGB_LIB_DISTRIBUTION)/include
  10. RGB_LIBDIR=$(RGB_LIB_DISTRIBUTION)/lib
  11. RGB_LIBRARY_NAME=rgbmatrix
  12. RGB_LIBRARY=$(RGB_LIBDIR)/lib$(RGB_LIBRARY_NAME).a
  13. LDFLAGS+=-L$(RGB_LIBDIR) -l$(RGB_LIBRARY_NAME) -lrt -lm -lpthread
  14. # Imagemagic flags, only needed if actually compiled.
  15. MAGICK_CXXFLAGS?=$(shell GraphicsMagick++-config --cppflags --cxxflags)
  16. MAGICK_LDFLAGS?=$(shell GraphicsMagick++-config --ldflags --libs)
  17. AV_CXXFLAGS=$(shell pkg-config --cflags libavcodec libavformat libswscale libavutil)
  18. AV_LDFLAGS=$(shell pkg-config --cflags --libs libavcodec libavformat libswscale libavutil)
  19. simple: $(BINARIES)
  20. all : $(BINARIES) $(OPTIONAL_BINARIES)
  21. $(RGB_LIBRARY): FORCE
  22. $(MAKE) -C $(RGB_LIBDIR)
  23. text-scroller: text-scroller.o $(RGB_LIBRARY)
  24. $(CXX) $(CXXFLAGS) text-scroller.o -o $@ $(LDFLAGS)
  25. led-image-viewer: led-image-viewer.o $(RGB_LIBRARY)
  26. $(CXX) $(CXXFLAGS) led-image-viewer.o -o $@ $(LDFLAGS) $(MAGICK_LDFLAGS)
  27. video-viewer: video-viewer.o $(RGB_LIBRARY)
  28. $(CXX) $(CXXFLAGS) video-viewer.o -o $@ $(LDFLAGS) $(AV_LDFLAGS)
  29. %.o : %.cc
  30. $(CXX) -I$(RGB_INCDIR) $(CXXFLAGS) -c -o $@ $<
  31. led-image-viewer.o : led-image-viewer.cc
  32. $(CXX) -I$(RGB_INCDIR) $(CXXFLAGS) $(MAGICK_CXXFLAGS) -c -o $@ $<
  33. clean:
  34. rm -f $(OBJECTS) $(BINARIES) $(OPTIONAL_OBJECTS) $(OPTIONAL_BINARIES)
  35. FORCE:
  36. .PHONY: FORCE