4 # Copyright (C) 2006 Laurent Bessard
6 # This file is part of canfestival, a library implementing the canopen
9 # This library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public
11 # License as published by the Free Software Foundation; either
12 # version 2.1 of the License, or (at your option) any later version.
14 # This library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # Lesser General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with this library; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 PROG_CFLAGS = SUB_PROG_CFLAGS
27 ARCH_NAME = SUB_ARCH_NAME
29 BINUTILS_PREFIX = SUB_BINUTILS_PREFIX
31 CAN_DRIVER = SUB_CAN_DRIVER
32 TIMERS_DRIVER = SUB_TIMERS_DRIVER
34 INCLUDES = -I../include -I../include/$(TARGET) -I../include/$(CAN_DRIVER) -I../include/$(TIMERS_DRIVER) -I../drivers/$(TARGET)
36 OBJS = $(TARGET)_objacces.o $(TARGET)_lifegrd.o $(TARGET)_sdo.o\
37 $(TARGET)_pdo.o $(TARGET)_sync.o $(TARGET)_nmtSlave.o $(TARGET)_nmtMaster.o $(TARGET)_states.o $(TARGET)_timer.o
39 # # # # Target specific paramters # # # #
41 ifeq ($(TARGET),ecos_lpc2138_sja1000)
42 ECOS_GLOBAL_CFLAGS=-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Os -ffunction-sections -fdata-sections -fno-exceptions -finline-functions
43 ECOS_GLOBAL_LDFLAGS=-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -nostdlib
46 ifeq ($(TARGET),hcs12)
48 PROGDEFINES = -mnoshort -Wall -Wmissing-prototypes -fno-strict-aliasing
55 # # # # Options # # # #
57 CFLAGS = SUB_OPT_CFLAGS
61 canfestival: libcanfestival.a
63 libcanfestival.a: $(OBJS)
65 @echo "*********************************************"
66 @echo "**Building [libcanfestival.a]"
67 @echo "*********************************************"
68 $(BINUTILS_PREFIX)ar rc $@ $(OBJS)
69 $(BINUTILS_PREFIX)ranlib $@
73 @echo "*********************************************"
74 @echo "**Compiling $< -> $@"
75 @echo "*********************************************"
76 $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
78 install: libcanfestival.a
79 mkdir -p $(PREFIX)/lib/
80 mkdir -p $(PREFIX)/include/canfestival
81 cp libcanfestival.a $(PREFIX)/lib/
82 cp ../include/*.h $(PREFIX)/include/canfestival
85 rm -f $(PREFIX)/lib/libcanfestival.a
86 rm -rf $(PREFIX)/include/canfestival
89 rm -f $(OBJS) libcanfestival.a