drivers/can_lincan/Makefile.in
author etisserant
Wed, 04 Apr 2007 13:04:31 +0200
changeset 145 e747d2e26af0
parent 40 ddeeb217ed71
child 158 b505f7116a1c
permissions -rw-r--r--
Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     1
#! gmake
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     2
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     3
#
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     4
# Copyright (C) 2006 Laurent Bessard
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     5
# 
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     6
# This file is part of canfestival, a library implementing the canopen
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     7
# stack
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     8
# 
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
     9
# This library is free software; you can redistribute it and/or
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    10
# modify it under the terms of the GNU Lesser General Public
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    11
# License as published by the Free Software Foundation; either
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    12
# version 2.1 of the License, or (at your option) any later version.
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    13
# 
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    14
# This library is distributed in the hope that it will be useful,
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    17
# Lesser General Public License for more details.
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    18
# 
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    19
# You should have received a copy of the GNU Lesser General Public
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    20
# License along with this library; if not, write to the Free Software
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    21
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    22
# 
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    23
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    24
CC = SUB_CC
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    25
OPT_CFLAGS = -O2
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    26
CFLAGS = SUB_OPT_CFLAGS
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    27
PROG_CFLAGS = SUB_PROG_CFLAGS
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    28
PREFIX = SUB_PREFIX
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    29
TARGET = SUB_TARGET
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    30
CAN_DRIVER = SUB_CAN_DRIVER
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    31
TIMERS_DRIVER = SUB_TIMERS_DRIVER
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    32
ENABLE_DLL_DRIVERS=SUB_ENABLE_DLL_DRIVERS
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    33
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    34
INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER)
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    35
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    36
OBJS = $(CAN_DRIVER).o
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    37
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    38
ifeq ($(ENABLE_DLL_DRIVERS),1)
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    39
CFLAGS += -fPIC
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    40
DRIVER = libcanfestival_$(CAN_DRIVER).so
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    41
else
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    42
DRIVER = $(OBJS)
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    43
endif
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    44
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    45
TARGET_SOFILES = $(PREFIX)/lib/$(DRIVER)
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    46
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    47
all: driver
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    48
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    49
driver: $(DRIVER)
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    50
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    51
%o: %c
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    52
	$(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    53
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    54
libcanfestival_$(CAN_DRIVER).so: $(OBJS)
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    55
	gcc -shared -Wl,-soname,libcanfestival_$(CAN_DRIVER).so -o $@ $<
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    56
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    57
install: libcanfestival_$(CAN_DRIVER).so
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    58
	mkdir -p $(PREFIX)/lib/
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    59
	cp $@ $(PREFIX)/lib/
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 40
diff changeset
    60
	
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    61
uninstall:
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    62
	rm -f $(TARGET_HFILES)
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    63
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    64
clean:
40
ddeeb217ed71 Updated configure and fixes in Makefiles.in for cygwin compiling.
etisserant
parents: 26
diff changeset
    65
	rm -f $(OBJS)
26
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    66
8340a591acf3 Included interfacing code for LinCAN driver.
ppavel
parents:
diff changeset
    67
mrproper: clean