87 lines
2.2 KiB
Makefile
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 $< $@
|
|
|