Commit 6f416f19 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Distinguish between C and C++ targets

parent d8b578f4
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ COMMON_FLAGS = -g -Os -Wall -Wextra -fno-rtti -fno-threadsafe-statics
CFLAGS = -std=c99
CXXFLAGS = -std=c++14

TARGETS = src/app/${app}/main.cc src/os/object/cpp_helpers.cc src/os/object/outputstream.cc
CXX_TARGETS = src/app/${app}/main.cc src/os/object/cpp_helpers.cc src/os/object/outputstream.cc

QUIET = @

@@ -16,42 +16,42 @@ endif
include src/app/${app}/Makefile.inc

ifneq ($(findstring lm75,${drivers}), )
	TARGETS += src/driver/lm75.cc
	CXX_TARGETS += src/driver/lm75.cc
	COMMON_FLAGS += -DDRIVER_LM75
endif

ifneq ($(findstring am2320,${drivers}), )
	TARGETS += src/driver/am2320.cc
	CXX_TARGETS += src/driver/am2320.cc
	COMMON_FLAGS += -DDRIVER_AM2320
endif

ifneq ($(findstring ccs811,${drivers}), )
	TARGETS += src/driver/ccs811.cc
	CXX_TARGETS += src/driver/ccs811.cc
	COMMON_FLAGS += -DDRIVER_CCS811
endif

ifneq ($(findstring eeprom24lc64,${drivers}), )
	TARGETS += src/driver/eeprom24lc64.cc
	CXX_TARGETS += src/driver/eeprom24lc64.cc
	COMMON_FLAGS += -DDRIVER_EEPROM24LC64
endif

ifneq ($(findstring max44006,${drivers}), )
	TARGETS += src/driver/max44006.cc
	CXX_TARGETS += src/driver/max44006.cc
	COMMON_FLAGS += -DDRIVER_MAX44006
endif

ifneq ($(findstring max44009,${drivers}), )
	TARGETS += src/driver/max44009.cc
	CXX_TARGETS += src/driver/max44009.cc
	COMMON_FLAGS += -DDRIVER_MAX44009
endif

ifneq ($(findstring mmsimple,${drivers}), )
	TARGETS += src/driver/mmsimple.cc
	CXX_TARGETS += src/driver/mmsimple.cc
	COMMON_FLAGS += -DDRIVER_MMSIMPLE
endif

ifneq ($(findstring sharp96,${drivers}), )
	TARGETS += src/driver/sharp96.cc
	CXX_TARGETS += src/driver/sharp96.cc
	COMMON_FLAGS += -DDRIVER_SHARP6
	COMMON_FLAGS += -DSHARP96_POWER_PIN=GPIO::${sharp96_power_pin}
	COMMON_FLAGS += -DSHARP96_EN_PIN=GPIO::${sharp96_en_pin}
@@ -59,7 +59,7 @@ ifneq ($(findstring sharp96,${drivers}), )
endif

ifneq ($(findstring softi2c,${drivers}), )
	TARGETS += src/driver/soft_i2c.cc
	CXX_TARGETS += src/driver/soft_i2c.cc
	COMMON_FLAGS += -DDRIVER_SOFTI2C
endif

+10 −4
Original line number Diff line number Diff line
@@ -10,20 +10,26 @@ endif

ifeq (${prototest_mpack}, 1)
	COMMON_FLAGS += -DPROTOTEST_MPACK
	TARGETS += src/lib/mpack/mpack.cc
	CXX_TARGETS += src/lib/mpack/mpack.cc
	INCLUDES += -Iinclude/lib/mpack
endif

ifeq (${prototest_nanopb}, 1)
	COMMON_FLAGS += -DPROTOTEST_NANOPB
	TARGETS += src/app/prototest/nanopb.pb.cc src/lib/nanopb/pb_common.cc
	TARGETS += src/lib/nanopb/pb_decode.cc src/lib/nanopb/pb_encode.cc
	CXX_TARGETS += src/app/prototest/nanopb.pb.cc src/lib/nanopb/pb_common.cc
	CXX_TARGETS += src/lib/nanopb/pb_decode.cc src/lib/nanopb/pb_encode.cc
	INCLUDES += -Iinclude/lib/nanopb
endif

ifeq (${prototest_ubjson}, 1)
	COMMON_FLAGS += -DPROTOTEST_UBJSON
	CXX_TARGETS += src/lib/ubjson/ubjr.cc src/lib/ubjson/ubjw.cc
	INCLUDES += -Iinclude/lib/ubjson
endif

ifeq (${prototest_xdr}, 1)
	COMMON_FLAGS += -DPROTOTEST_XDR
	TARGETS += src/os/object/xdrstream.cc src/os/object/xdrinput.cc
	CXX_TARGETS += src/os/object/xdrstream.cc src/os/object/xdrinput.cc
endif

%.pb.cc: %.proto
+8 −8
Original line number Diff line number Diff line
@@ -22,22 +22,22 @@ ifeq (${aspectc}, 1)
	CXX = ag++ -r build/repo.acp -v 0 --c_compiler avr-g++ -p . --Xcompiler
endif

TARGETS += src/arch/arduino-nano/arch.cc
TARGETS += src/arch/arduino-nano/driver/gpio.cc
TARGETS += src/arch/arduino-nano/driver/stdout.cc
TARGETS += src/arch/arduino-nano/driver/uptime.cc
CXX_TARGETS += src/arch/arduino-nano/arch.cc
CXX_TARGETS += src/arch/arduino-nano/driver/gpio.cc
CXX_TARGETS += src/arch/arduino-nano/driver/stdout.cc
CXX_TARGETS += src/arch/arduino-nano/driver/uptime.cc

ifneq ($(findstring softi2c,${drivers}), )
else ifneq ($(findstring i2c,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/i2c.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/i2c.cc
endif

ifneq ($(findstring stdin,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/stdin.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/stdin.cc
endif

ifneq ($(findstring timer,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/timer.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/timer.cc
endif

ifeq (${cpu_freq}, 16000000)
@@ -64,7 +64,7 @@ endif

COMMON_FLAGS += -DBAUD=${uart_baud}UL

OBJECTS = ${TARGETS:.cc=.o}
OBJECTS = ${CXX_TARGETS:.cc=.o}

.cc.o:
	${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
+8 −8
Original line number Diff line number Diff line
@@ -21,22 +21,22 @@ ifeq (${aspectc}, 1)
	CXX = ag++ -r build/repo.acp -v 0 --c_compiler avr-g++ -p . --Xcompiler
endif

TARGETS += src/arch/arduino-nano/arch.cc
TARGETS += src/arch/arduino-nano/driver/gpio.cc
TARGETS += src/arch/arduino-nano/driver/stdout.cc
TARGETS += src/arch/arduino-nano/driver/uptime.cc
CXX_TARGETS += src/arch/arduino-nano/arch.cc
CXX_TARGETS += src/arch/arduino-nano/driver/gpio.cc
CXX_TARGETS += src/arch/arduino-nano/driver/stdout.cc
CXX_TARGETS += src/arch/arduino-nano/driver/uptime.cc

ifneq ($(findstring softi2c,${drivers}), )
else ifneq ($(findstring i2c,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/i2c.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/i2c.cc
endif

ifneq ($(findstring stdin,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/stdin.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/stdin.cc
endif

ifneq ($(findstring timer,${arch_drivers}), )
	TARGETS += src/arch/arduino-nano/driver/timer.cc
	CXX_TARGETS += src/arch/arduino-nano/driver/timer.cc
endif

ifneq (${cpu_freq}, )
@@ -45,7 +45,7 @@ else
	COMMON_FLAGS += -DF_CPU=16000000UL
endif

OBJECTS = ${TARGETS:.cc=.o}
OBJECTS = ${CXX_TARGETS:.cc=.o}

.cc.o:
	${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
+6 −6
Original line number Diff line number Diff line
@@ -17,17 +17,17 @@ ifeq (${aspectc}, 1)
	CXX = ag++ -r build/repo.acp -v 0 --c_compiler avr-g++ -p . --Xcompiler
endif

TARGETS += src/arch/blinkenrocket/arch.cc
TARGETS += src/arch/blinkenrocket/driver/gpio.cc
TARGETS += src/arch/blinkenrocket/driver/stdout.cc
TARGETS += src/arch/blinkenrocket/driver/uptime.cc
CXX_TARGETS += src/arch/blinkenrocket/arch.cc
CXX_TARGETS += src/arch/blinkenrocket/driver/gpio.cc
CXX_TARGETS += src/arch/blinkenrocket/driver/stdout.cc
CXX_TARGETS += src/arch/blinkenrocket/driver/uptime.cc

ifneq ($(findstring softi2c,${drivers}), )
else ifneq ($(findstring i2c,${arch_drivers}), )
	TARGETS += src/arch/blinkenrocket/driver/i2c.cc
	CXX_TARGETS += src/arch/blinkenrocket/driver/i2c.cc
endif

OBJECTS = ${TARGETS:.cc=.o}
OBJECTS = ${CXX_TARGETS:.cc=.o}

.cc.o:
	${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
Loading