1 # Makefile for LEJOS OSEK C/C++ library
5 ECROBOT_ROOT = $(ROOT)/ecrobot
6 LEJOSNXJSRC_ROOT = $(ROOT)/lejos_nxj/src/
7 TOPPERS_OSEK_ROOT = $(ROOT)/toppers_osek
10 LEJOS_PLATFORM_SOURCES_PATH = nxtvm/platform/nxt
11 LEJOS_VM_SOURCES_PATH = nxtvm/javavm
13 TOPPERS_OSEK_INC_PATH = \
14 $(TOPPERS_OSEK_ROOT)/kernel \
15 $(TOPPERS_OSEK_ROOT)/include \
16 $(TOPPERS_OSEK_ROOT)/config/at91sam7s-gnu \
17 $(TOPPERS_OSEK_ROOT)/config/at91sam7s-gnu/lego_nxt \
18 $(TOPPERS_OSEK_ROOT)/sg \
19 $(TOPPERS_OSEK_ROOT)/syslib/at91sam7s-gnu/lego_nxt
22 $(LEJOSNXJSRC_ROOT)/$(LEJOS_PLATFORM_SOURCES_PATH) \
23 $(LEJOSNXJSRC_ROOT)/$(LEJOS_VM_SOURCES_PATH) \
28 C_LIB_SOURCES = errorhook.c posttaskhook.c pretaskhook.c robotinit.c robotterminate.c \
29 shutdownhook.c startuphook.c
31 CC_LIB_SOURCES = AccelSensor.cc ColorSensor.cc CompassSensor.cc LightSensor.cc \
32 Motor.cc sensormonitor.cc sleep.cc SonarSensor.cc SoundSensor.cc timerint.cc TouchSensor.cc PrototypeSensor.cc \
36 C_OPTIMISATION_FLAGS = -Os
37 include $(ECROBOT_ROOT)/tool_gcc.mak
39 O_FILES = $(C_LIB_SOURCES:c=o) $(CC_LIB_SOURCES:cc=o)
41 TARGET = $(CXX_ROOT)/liblejososek.a
48 $(AR) rv $(TARGET) $(O_FILES)
51 @echo "Compiling $< to $@"
52 $(CC) $(CFLAGS) -o $@ $<
55 @echo "Compiling $< to $@"
56 $(CXX) $(CXXFLAGS) -o $@ $<