]> rtime.felk.cvut.cz Git - CanFestival-3.git/blob - src/Makefile.in
10b9d8798d9d910ea9d349be3ebfa916721791f4
[CanFestival-3.git] / src / Makefile.in
1 #! gmake
2
3 #
4 # Copyright (C) 2006 Laurent Bessard
5
6 # This file is part of canfestival, a library implementing the canopen
7 # stack
8
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.
13
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.
18
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
22
23
24 CC = SUB_CC
25 PROG_CFLAGS = SUB_PROG_CFLAGS
26 OS_NAME = SUB_OS_NAME
27 ARCH_NAME = SUB_ARCH_NAME
28 PREFIX = SUB_PREFIX
29 BINUTILS_PREFIX = SUB_BINUTILS_PREFIX
30 TARGET = SUB_TARGET
31 CAN_DRIVER = SUB_CAN_DRIVER
32 TIMERS_DRIVER = SUB_TIMERS_DRIVER
33
34 INCLUDES = -I../include -I../include/$(TARGET) -I../include/$(CAN_DRIVER) -I../include/$(TIMERS_DRIVER) -I../drivers/$(TARGET)
35
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
38
39 # # # # Target specific paramters # # # #
40
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
44 endif
45
46 ifeq ($(TARGET),hcs12)
47 OPT_CFLAGS = -Os
48 PROGDEFINES = -mnoshort -Wall -Wmissing-prototypes -fno-strict-aliasing
49 endif
50
51 ifeq ($(TARGET),unix)
52 OPT_CFLAGS = -O2
53 endif
54
55 # # # # Options # # # # 
56
57 CFLAGS = SUB_OPT_CFLAGS
58
59 all: canfestival
60
61 canfestival: libcanfestival.a
62
63 libcanfestival.a: $(OBJS)
64         @echo " "
65         @echo "*********************************************"
66         @echo "**Building [libcanfestival.a]"
67         @echo "*********************************************"
68         $(BINUTILS_PREFIX)ar rc $@ $(OBJS)
69         $(BINUTILS_PREFIX)ranlib $@
70
71 $(TARGET)_%o: %c
72         @echo " "
73         @echo "*********************************************"
74         @echo "**Compiling $< -> $@"
75         @echo "*********************************************"
76         $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
77
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
83
84 uninstall:
85         rm -f $(PREFIX)/lib/libcanfestival.a
86         rm -rf $(PREFIX)/include/canfestival
87
88 clean:
89         rm -f $(OBJS) libcanfestival.a
90
91 mrproper: clean
92