]> rtime.felk.cvut.cz Git - CanFestival-3.git/blob - drivers/can_serial/Makefile.in
Added removal of dynamically loaded CAN driver interface library in clean make target
[CanFestival-3.git] / drivers / can_serial / 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 OPT_CFLAGS = -O2
26 CFLAGS = SUB_OPT_CFLAGS
27 PROG_CFLAGS = SUB_PROG_CFLAGS
28 PREFIX = SUB_PREFIX
29 TARGET = SUB_TARGET
30 CAN_DRIVER = SUB_CAN_DRIVER
31 TIMERS_DRIVER = SUB_TIMERS_DRIVER
32 ENABLE_DLL_DRIVERS=SUB_ENABLE_DLL_DRIVERS
33 CAN_DLL_CFLAGS=SUB_CAN_DLL_CFLAGS
34
35 INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER)
36 INCLUDES += -I../../include/$(TIMERS_DRIVER)
37
38 OBJS = $(CAN_DRIVER).o
39
40 ifeq ($(ENABLE_DLL_DRIVERS),1)
41 CFLAGS += -fPIC
42 DRIVER = libcanfestival_$(CAN_DRIVER).so
43 else
44 DRIVER = $(OBJS)
45 endif
46
47 HUB=can_serial_hub
48
49 TARGET_SOFILES = $(PREFIX)/lib/$(DRIVER)
50 TARGET_BINFILES = $(PREFIX)/bin/$(HUB)
51
52 all: driver $(HUB)
53
54 $(HUB): $(HUB).c
55         $(CC) -O2 -Wall -fno-strict-aliasing $(INCLUDES) -o $(HUB) $(HUB).c -ldl
56
57 driver: $(DRIVER) $(HUB)
58
59 %o: %c
60         $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
61
62 libcanfestival_$(CAN_DRIVER).so: $(OBJS)
63         $(CC) -shared -Wl,-soname,libcanfestival_$(CAN_DRIVER).so $(CAN_DLL_CFLAGS) -o $@ $<
64
65 install: libcanfestival_$(CAN_DRIVER).so $(HUB)
66         mkdir -p $(PREFIX)/lib/
67         cp libcanfestival_$(CAN_DRIVER).so $(PREFIX)/lib/
68         mkdir -p $(PREFIX)/bin/
69         cp $(HUB) $(PREFIX)/bin/
70         
71 uninstall:
72         rm -f $(TARGET_SOFILES)
73         rm -f $(TARGET_BINFILES)
74
75 clean:
76         rm -f $(OBJS) libcanfestival_$(CAN_DRIVER).so
77         rm -f $(HUB)
78
79 mrproper: clean