1
0
Fork 0
CANopenNode/stack/eCos/Makefile
2015-07-25 14:03:15 +02:00

87 lines
2.2 KiB
Makefile

# Mostly written by Jonathan Larmour, Red Hat, Inc.
# Reference to ecos.mak added by John Dallaway, eCosCentric Limited, 2003-01-20
# This file is in the public domain and may be used for any purpose
# Usage: make INSTALL_DIR=/path/to/ecos/install
#INSTALL_DIR=$$(INSTALL_DIR) # override on make command line
#INSTALL_DIR=/tmp/lpc-e2294_default_CAN_04_debug_install
#INSTALL_DIR=/tmp/lpc-e2294_ustl_CAN_04_debug_install
INSTALL_DIR=/tmp/lpc-l2294_ustl_CAN_02_debug_install
# path to CANopen node source code
CANOPENNODE_SRC = /cygdrive/c/CodingXP/CANopenNode_SVN/CANopen_stack
# Include directories
INCLUDE_DIRS = $(CANOPENNODE_SRC) \
-I"src"
# source files
SOURCES = $(CANOPENNODE_SRC)/CANopen.c \
$(CANOPENNODE_SRC)/CO_Emergency.c \
$(CANOPENNODE_SRC)/CO_HBconsumer.c \
$(CANOPENNODE_SRC)/CO_NMT_Heartbeat.c \
$(CANOPENNODE_SRC)/CO_PDO.c \
$(CANOPENNODE_SRC)/CO_SDO.c \
$(CANOPENNODE_SRC)/CO_SDOmaster.c \
$(CANOPENNODE_SRC)/CO_SYNC.c \
$(CANOPENNODE_SRC)/crc16-ccitt.c \
src/application.cpp \
src/CO_driver_eCos.c \
src/main.c \
src/CO_OD.c \
src/CO_PollingTimer.c \
src/CO_Flash.c \
src/ecos_helper.c
OBJSC=${SOURCES:%.c=%.o}
OBJS=${OBJSC:%.cpp=%.o}
include $(INSTALL_DIR)/include/pkgconf/ecos.mak
XCC = $(ECOS_COMMAND_PREFIX)gcc
OBJCOPY = $(ECOS_COMMAND_PREFIX)objcopy
XCXX = $(XCC)
XLD = $(XCC)
CFLAGS = -I$(INSTALL_DIR)/include -I$(INCLUDE_DIRS)
CXXFLAGS = $(CFLAGS)
LDFLAGS = -nostartfiles -L$(INSTALL_DIR)/lib -Ttarget.ld
# RULES
.PHONY: all clean
all: ecos_canopennode ecos_canopennode.bin
clean:
-rm -f src/*.o
-rm -f $(CANOPENNODE_SRC)/*.o
%.o: %.c
$(XCC) -c -o $*.o $(CFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.cxx
$(XCXX) -c -o $*.o $(CFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.cpp
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.C
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.cc
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
ecos_canopennode: $(OBJS)
$(XLD) $(LDFLAGS) $(ECOS_GLOBAL_LDFLAGS) $(OBJS) -o $@
ecos_canopennode.bin : ecos_canopennode
$(OBJCOPY) --strip-debug $< $(@:.bin=.img)
$(OBJCOPY) -O srec $< $(@:.bin=.srec)
$(OBJCOPY) -O binary $< $@