drivers/ecos_lpc2138_sja1000/Makefile.in
author lbessard
Mon, 15 May 2006 08:02:47 +0200
changeset 5 e4365e7d47f0
parent 0 4472ee7c6c3e
child 40 ddeeb217ed71
permissions -rw-r--r--
Bug on number in hexa computed by gen_cfile corrected
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     1
#! gmake
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     3
#
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     4
# Copyright (C) 2006 OREMEQ
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     5
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     6
# This file is part of canfestival, a library implementing the canopen
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     7
# stack
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     8
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     9
# This library is free software; you can redistribute it and/or
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    10
# modify it under the terms of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    11
# License as published by the Free Software Foundation; either
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    12
# version 2.1 of the License, or (at your option) any later version.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    13
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    14
# This library is distributed in the hope that it will be useful,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    17
# Lesser General Public License for more details.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    18
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    19
# You should have received a copy of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    20
# License along with this library; if not, write to the Free Software
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    21
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    22
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    23
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    24
CC = SUB_CC
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    25
OPT_CFLAGS = SUB_OPT_CFLAGS
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    26
CFLAGS = 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    27
PROG_CFLAGS = SUB_PROG_CFLAGS
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    28
LIBS = -lm
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    29
SHAREDLIBOPT = -shared
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    30
OS_NAME = SUB_OS_NAME
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    31
ARCH_NAME = SUB_ARCH_NAME
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    32
PREFIX = SUB_PREFIX
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    33
TARGET = SUB_TARGET
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    34
INCLUDES = -I../../include -I../../examples/ecos_lpc2138_sja1000/include
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    35
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    36
ECOS_GLOBAL_CFLAGS=-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Os -ffunction-sections -fdata-sections -fno-exceptions -finline-functions
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    37
ECOS_GLOBAL_LDFLAGS=-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -nostdlib
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    38
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    39
export CAN_CONTROLER_CLOCK_SPEED := 24.000   # Crystal frequency of the SJA1000 clock input.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    40
export CAN_CONTROLER_PHASE_SHIFT_TOLERANCE := 3  #Synchronization Jump Width (SJW) (in SJA1000==> 0..3)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    41
                                                          #To compensate for phase shifts between
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    42
                                                          #clock oscillators of different bus
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    43
                                                          # controllers, any bus controller must
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    44
                                                          #re-synchronize on any relevant signal
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    45
                                                          #edge of the current transmission.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    46
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    47
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    48
OBJS = canOpenDriver.o lpc2138.o sja1000.o time_slicer.o
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    49
INCLUDE_H = applicfg.h baudrate_table.h canOpenDriver.h lpc2138.h lpc2138_defs.h \
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    50
lpc2138_pinout.h sja1000.h time_slicer.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    51
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    52
all: driver
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    53
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    54
driver: build_baudrate $(OBJS)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    55
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    56
build_baudrate:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    57
	gcc -o build_baudrate build_baudrate.c
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    58
	@echo "Generate The baudrate register structure in canControler.h regarding the"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    59
	@echo "SJA1000 clock speed defined in the Makefile, CAN_CONTROLER_CLOCK_SPEED"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    60
	./build_baudrate $(CAN_CONTROLER_CLOCK_SPEED) $(CAN_CONTROLER_PHASE_SHIFT_TOLERANCE)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    61
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    62
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    63
libcandriver.a: $(OBJS)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    64
	@echo " "
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    65
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    66
	@echo "**Building [libcandriver]"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    67
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    68
	$(BINUTILS_PREFIX)ar rc $@ $(OBJS)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    69
	$(BINUTILS_PREFIX)ranlib $@
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    70
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    71
%o: %c
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    72
	@echo " "
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    73
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    74
	@echo "**Compiling $< -> $@"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    75
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    76
	$(CC) -g -c $(ECOS_GLOBAL_CFLAGS) $(INCLUDES) -I. -c -o $@ $<
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    77
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    78
%o: %s
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    79
	@echo " "
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    80
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    81
	@echo "**Compiling $< -> $@"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    82
	@echo "*********************************************"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    83
	$(CC)  -c -x assembler-with-cpp $(ECOS_GLOBAL_CFLAGS) $(INCLUDES) -I. -o $@ $<
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    84
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    85
install:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    86
	mkdir -p $(PREFIX)/lib
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    87
	ln -s ../../../drivers/ecos_lpc2138_sja1000 $(PREFIX)/lib/driver
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    88
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    89
uninstall:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    90
	rm -f ../../examples/ecos_lpc2138_sja1000/lib/driver
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    91
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    92
clean:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    93
	-\rm -f $(OBJS) build_baudrate baudrate_table.h 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    94
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    95
mrproper: clean
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    96
	-\rm ../../lib/ecos_lpc2138_sja1000/libcandriver.a 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    97