Mercurial > hg > beaglert
comparison Makefile @ 69:272154649c46
Changes to Makefile to support syntax checking
| author | andrewm |
|---|---|
| date | Fri, 17 Jul 2015 17:41:35 +0100 |
| parents | 59edd5780fef |
| children | f3251851c718 |
comparison
equal
deleted
inserted
replaced
| 68:59edd5780fef | 69:272154649c46 |
|---|---|
| 58 DEFAULT_MAIN_CPP_SRCS := ./core/default_main.cpp | 58 DEFAULT_MAIN_CPP_SRCS := ./core/default_main.cpp |
| 59 DEFAULT_MAIN_OBJS := ./build/core/default_main.o | 59 DEFAULT_MAIN_OBJS := ./build/core/default_main.o |
| 60 DEFAULT_MAIN_CPP_DEPS := ./build/core/default_main.d | 60 DEFAULT_MAIN_CPP_DEPS := ./build/core/default_main.d |
| 61 | 61 |
| 62 # All = build BeagleRT | 62 # All = build BeagleRT |
| 63 all: SYNTAX_FLAG := | |
| 63 all: BeagleRT | 64 all: BeagleRT |
| 65 | |
| 66 # syntax = check syntax | |
| 67 syntax: SYNTAX_FLAG := -fsyntax-only | |
| 68 syntax: BeagleRT | |
| 64 | 69 |
| 65 # Rule for BeagleRT core C++ files | 70 # Rule for BeagleRT core C++ files |
| 66 build/core/%.o: ./core/%.cpp | 71 build/core/%.o: ./core/%.cpp |
| 67 @echo 'Building file: $<' | 72 @echo 'Building file: $<' |
| 68 @echo 'Invoking: GCC C++ Compiler' | 73 @echo 'Invoking: GCC C++ Compiler' |
| 69 g++ $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" | 74 g++ $(SYNTAX_FLAG) $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" |
| 70 @echo 'Finished building: $<' | 75 @echo 'Finished building: $<' |
| 71 @echo ' ' | 76 @echo ' ' |
| 72 | 77 |
| 73 # Rule for user-supplied C++ files | 78 # Rule for user-supplied C++ files |
| 74 build/source/%.o: ./source/%.cpp | 79 build/source/%.o: ./source/%.cpp |
| 75 @echo 'Building file: $<' | 80 @echo 'Building file: $<' |
| 76 @echo 'Invoking: GCC C++ Compiler' | 81 @echo 'Invoking: GCC C++ Compiler' |
| 77 g++ -I./include $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" | 82 g++ $(SYNTAX_FLAG) -I./include $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" |
| 78 @echo 'Finished building: $<' | 83 @echo 'Finished building: $<' |
| 79 @echo ' ' | 84 @echo ' ' |
| 80 | 85 |
| 81 # Rule for user-supplied C files | 86 # Rule for user-supplied C files |
| 82 build/source/%.o: ./source/%.c | 87 build/source/%.o: ./source/%.c |
| 83 @echo 'Building file: $<' | 88 @echo 'Building file: $<' |
| 84 @echo 'Invoking: GCC C Compiler' | 89 @echo 'Invoking: GCC C Compiler' |
| 85 gcc -I./include $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" | 90 gcc $(SYNTAX_FLAG) -I./include $(INCLUDES) -O2 -Wall -c -fmessage-length=0 -U_FORTIFY_SOURCE -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" |
| 86 @echo 'Finished building: $<' | 91 @echo 'Finished building: $<' |
| 87 @echo ' ' | 92 @echo ' ' |
| 88 | 93 |
| 89 # Rule for user-supplied assembly files | 94 # Rule for user-supplied assembly files |
| 90 build/source/%.o: ./source/%.S | 95 build/source/%.o: ./source/%.S |
| 108 | 113 |
| 109 # Rule for building BeagleRT including the default main file (no user-supplied main()) | 114 # Rule for building BeagleRT including the default main file (no user-supplied main()) |
| 110 BeagleRT_with_main: $(CORE_OBJS) $(DEFAULT_MAIN_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) | 115 BeagleRT_with_main: $(CORE_OBJS) $(DEFAULT_MAIN_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) |
| 111 @echo 'Building target: $@' | 116 @echo 'Building target: $@' |
| 112 @echo 'Invoking: GCC C++ Linker' | 117 @echo 'Invoking: GCC C++ Linker' |
| 113 g++ -L/usr/xenomai/lib -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/lib/xenomai -L/usr/lib/arm-linux-gnueabihf -pthread -Wpointer-arith -o "BeagleRT" $(CORE_OBJS) $(DEFAULT_MAIN_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) $(LIBS) | 118 g++ $(SYNTAX_FLAG) -L/usr/xenomai/lib -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/lib/xenomai -L/usr/lib/arm-linux-gnueabihf -pthread -Wpointer-arith -o "BeagleRT" $(CORE_OBJS) $(DEFAULT_MAIN_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) $(LIBS) |
| 114 | 119 |
| 115 # Rule for building BeagleRT without the default main file (user-supplied main()) | 120 # Rule for building BeagleRT without the default main file (user-supplied main()) |
| 116 BeagleRT_without_main: $(CORE_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) | 121 BeagleRT_without_main: $(CORE_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) |
| 117 @echo 'Building target: $@' | 122 @echo 'Building target: $@' |
| 118 @echo 'Invoking: GCC C++ Linker' | 123 @echo 'Invoking: GCC C++ Linker' |
| 119 g++ -L/usr/xenomai/lib -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/lib/xenomai -L/usr/lib/arm-linux-gnueabihf -pthread -Wpointer-arith -o "BeagleRT" $(CORE_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) $(LIBS) | 124 g++ $(SYNTAX_FLAG) -L/usr/xenomai/lib -L/usr/arm-linux-gnueabihf/lib -L/usr/arm-linux-gnueabihf/lib/xenomai -L/usr/lib/arm-linux-gnueabihf -pthread -Wpointer-arith -o "BeagleRT" $(CORE_OBJS) $(ASM_OBJS) $(C_OBJS) $(CPP_OBJS) $(STATIC_LIBS) $(LIBS) |
| 120 | 125 |
| 121 # Other Targets: | 126 # Other Targets: |
| 122 | 127 |
| 123 # Remove the temporary user-supplied source, plus the objects built from them | 128 # Remove the temporary user-supplied source, plus the objects built from them |
| 124 sourceclean: | 129 sourceclean: |
