]> git.vomp.tv Git - vompclient.git/commitdiff
Makefile improvements
authorChris Tallon <chris@vomp.tv>
Tue, 31 Aug 2021 16:41:28 +0000 (17:41 +0100)
committerChris Tallon <chris@vomp.tv>
Tue, 31 Aug 2021 16:41:28 +0000 (17:41 +0100)
GNUmakefile

index 62b9f523172c0bc58e6c868a17ac4a9124e849da..36ae7aa382e9b23733ab1707d7be280d02ad86b7 100644 (file)
@@ -20,6 +20,7 @@ $(info Build system selected: $(vomp_platform))
 #VOMP_OPTIONS+= -DVOMP_HAS_EXIT
 
 CROSSROOT=/pi-root
+SYSROOT=--sysroot=$(CROSSROOT)
 
 ifndef VERBOSE
 Q = @
@@ -47,6 +48,9 @@ PICTURES += -Wl,other/recfolder.png
 PICTURES += -Wl,other/defposter.png
 PICTURES += -Wl,--format=default
 
+DEFINES=-D_GNU_SOURCE
+
+
 ifeq ($(vomp_platform),raspberry)
 $(info Raspberry Pi native compiler)
 CC=gcc
@@ -62,13 +66,13 @@ LD=g++
 LDFLAGS = -fuse-ld=gold $(PICTURES)
 #-fuse-ld=gold
 
-VOMP_OPTIONS += -DIPV4 -DIPV6
+DEFINES += -DIPV4 -DIPV6
 LIBPATHS = -L/opt/vc/lib -L/usr/lib/arm-linux-gnueabihf
 LIBS = -lpthread -lrt -lbrcmEGL -lbrcmOpenVG -lopenmaxil -lbcm_host -lavformat -lavcodec -lavutil -lswresample
 LIBS += -ldl -lfontconfig -lfreetype -lMagick++-6.Q16
 OBJECTS = $(OBJ_COMMON) $(OBJ_RASPBERRY)
 INCLUDES = -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/usr/include/freetype2 -I/usr/include/ImageMagick -I/usr/include/ImageMagick-6 -I/usr/include/arm-linux-gnueabihf/ImageMagick-6
-PLATFORM = -DVOMP_PLATFORM_RASPBERRY
+DEFINES += -DVOMP_PLATFORM_RASPBERRY
 CXXFLAGS_EXTRA = -Wno-psabi
 endif
 
@@ -78,30 +82,31 @@ endif
 # apt install g++-arm-linux-gnueabihf
 # Set vomp_platform=crossraspberry above
 ifeq ($(vomp_platform),crossraspberry)
-VOMP_OPTIONS += -DIPV4 -DIPV6
+DEFINES += -DIPV4 -DIPV6
 CROSS_PREFIX=arm-linux-gnueabihf-
 CC=$(CROSS_PREFIX)gcc
 STRIP=$(CROSS_PREFIX)strip
 CXX=$(CROSS_PREFIX)g++
 LD=$(CROSS_PREFIX)g++
 
-LDFLAGS = -Wall $(PICTURES) --sysroot=$(CROSSROOT) \
+LDFLAGS = -Wall $(PICTURES) $(SYSROOT) \
  -Wl,-rpath-link,$(CROSSROOT)/opt/vc/lib -Wl,-rpath-link,$(CROSSROOT)/usr/lib/arm-linux-gnueabihf \
  -L=/opt/vc/lib -L=/usr/lib/arm-linux-gnueabihf
 LIBPATHS =
 LIBS = -lpthread -lstdc++ -lrt -lbrcmEGL -lbrcmOpenVG -lopenmaxil -lbcm_host -lavformat -lavcodec \
  -lavutil -lswresample -lm -ldl -lfontconfig -lfreetype -lMagick++-6.Q16 -lMagickWand-6.Q16 -lMagickCore-6.Q16
 OBJECTS = $(OBJ_COMMON) $(OBJ_RASPBERRY)
-INCLUDES = --sysroot=$(CROSSROOT) -I=/usr/include/arm-linux-gnueabihf -I=/opt/vc/include -I=/usr/include/freetype2 -I=/usr/include/arm-linux-gnueabihf/ImageMagick-6 -I=/usr/include/ImageMagick-6
-PLATFORM = -DVOMP_PLATFORM_RASPBERRY
-CXXFLAGS_EXTRA = -mtune=cortex-a7 -mfloat-abi=hard -fopenmp
+INCLUDES = -isystem=/usr/include/arm-linux-gnueabihf -isystem=/opt/vc/include -isystem=/usr/include/freetype2 -isystem=/usr/include/arm-linux-gnueabihf/ImageMagick-6 -isystem=/usr/include/ImageMagick-6
+DEFINES += -DVOMP_PLATFORM_RASPBERRY -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
+CXXFLAGS_EXTRA = $(SYSROOT) -Wno-psabi -mtune=cortex-a7 -mfloat-abi=hard -fopenmp
 endif
 
-CXXFLAGS_DEV = -g -O0 -Wall -Wextra -Wshadow -Werror=return-type -Wmissing-declarations -Winit-self -Woverloaded-virtual -Wold-style-cast -Wconversion -std=c++14 $(CXXFLAGS_EXTRA) -DDEV -D_GNU_SOURCE -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 $(PLATFORM) $(VOMP_OPTIONS) $(INCLUDES)
-CXXFLAGS_REL = -O3 -Wall -Werror -std=c++14 $(CXXFLAGS_EXTRA) -D_GNU_SOURCE -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 $(PLATFORM) $(VOMP_OPTIONS) $(INCLUDES)
 
 
 
+CXXFLAGS_DEV = $(DEFINES) -DDEV -g -O0 -Wall -Wextra -Wshadow -Werror=return-type -Wmissing-format-attribute -Wdisabled-optimization -Wmissing-declarations -Wmissing-noreturn -Winit-self -Woverloaded-virtual -Wold-style-cast -Wconversion -std=c++14 $(CXXFLAGS_EXTRA) $(INCLUDES)
+CXXFLAGS_REL = $(DEFINES) -O3 -Wall -Werror -std=c++14 $(CXXFLAGS_EXTRA) $(INCLUDES)
+
 .PHONY: clean fresh all install strip
 
 default: dev
@@ -114,6 +119,7 @@ fresh:   clean default
 vompclient: $(OBJECTS)
        @echo LD vompclient
        $(Q)$(LD) $(LDFLAGS) $(LIBPATHS) -o vompclient $(OBJECTS) $(LIBS)
+       @echo Done
 
 strip:
        @echo STRIP vompclient
@@ -131,7 +137,7 @@ clean:
 ifndef SKIPDEPS
 deps: GNUmakefile
        @echo "DEPS"
-       $(Q)$(CC) -MM $(INCLUDES) $(OBJECTS:%.o=%.cc) > deps
+       $(Q)$(CC) -MM $(SYSROOT) $(INCLUDES) $(OBJECTS:%.o=%.cc) > deps
 endif
 
 ifneq ($(MAKECMDGOALS),clean)