drivers/ecos_lpc2138_sja1000/Makefile.in
changeset 93 16c8ceea8f18
parent 92 0d84d95790d9
child 94 bdf4c86be6b2
equal deleted inserted replaced
92:0d84d95790d9 93:16c8ceea8f18
     1 #! gmake
       
     2 
       
     3 #
       
     4 # Copyright (C) 2006 OREMEQ
       
     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 = SUB_OPT_CFLAGS
       
    26 CFLAGS = 
       
    27 PROG_CFLAGS = SUB_PROG_CFLAGS
       
    28 LIBS = -lm
       
    29 SHAREDLIBOPT = -shared
       
    30 OS_NAME = SUB_OS_NAME
       
    31 ARCH_NAME = SUB_ARCH_NAME
       
    32 PREFIX = SUB_PREFIX
       
    33 TARGET = SUB_TARGET
       
    34 INCLUDES = -I../../include -I../../examples/ecos_lpc2138_sja1000/include
       
    35 
       
    36 ECOS_GLOBAL_CFLAGS=-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Os -ffunction-sections -fdata-sections -fno-exceptions -finline-functions
       
    37 ECOS_GLOBAL_LDFLAGS=-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -nostdlib
       
    38 
       
    39 export CAN_CONTROLER_CLOCK_SPEED := 24.000   # Crystal frequency of the SJA1000 clock input.
       
    40 export CAN_CONTROLER_PHASE_SHIFT_TOLERANCE := 3  #Synchronization Jump Width (SJW) (in SJA1000==> 0..3)
       
    41                                                           #To compensate for phase shifts between
       
    42                                                           #clock oscillators of different bus
       
    43                                                           # controllers, any bus controller must
       
    44                                                           #re-synchronize on any relevant signal
       
    45                                                           #edge of the current transmission.
       
    46 
       
    47 
       
    48 OBJS = canOpenDriver.o lpc2138.o sja1000.o time_slicer.o
       
    49 INCLUDE_H = applicfg.h baudrate_table.h canOpenDriver.h lpc2138.h lpc2138_defs.h \
       
    50 lpc2138_pinout.h sja1000.h time_slicer.h
       
    51 
       
    52 all: driver
       
    53 
       
    54 driver: build_baudrate $(OBJS)
       
    55 
       
    56 build_baudrate:
       
    57 	gcc -o build_baudrate build_baudrate.c
       
    58 	@echo "Generate The baudrate register structure in canControler.h regarding the"
       
    59 	@echo "SJA1000 clock speed defined in the Makefile, CAN_CONTROLER_CLOCK_SPEED"
       
    60 	./build_baudrate $(CAN_CONTROLER_CLOCK_SPEED) $(CAN_CONTROLER_PHASE_SHIFT_TOLERANCE)
       
    61 
       
    62 
       
    63 libcandriver.a: $(OBJS)
       
    64 	@echo " "
       
    65 	@echo "*********************************************"
       
    66 	@echo "**Building [libcandriver]"
       
    67 	@echo "*********************************************"
       
    68 	$(BINUTILS_PREFIX)ar rc $@ $(OBJS)
       
    69 	$(BINUTILS_PREFIX)ranlib $@
       
    70 
       
    71 %o: %c
       
    72 	@echo " "
       
    73 	@echo "*********************************************"
       
    74 	@echo "**Compiling $< -> $@"
       
    75 	@echo "*********************************************"
       
    76 	$(CC) -g -c $(ECOS_GLOBAL_CFLAGS) $(INCLUDES) -I. -c -o $@ $<
       
    77 
       
    78 %o: %s
       
    79 	@echo " "
       
    80 	@echo "*********************************************"
       
    81 	@echo "**Compiling $< -> $@"
       
    82 	@echo "*********************************************"
       
    83 	$(CC)  -c -x assembler-with-cpp $(ECOS_GLOBAL_CFLAGS) $(INCLUDES) -I. -o $@ $<
       
    84 
       
    85 install:
       
    86 	mkdir -p $(PREFIX)/lib
       
    87 	ln -s ../../../drivers/ecos_lpc2138_sja1000 $(PREFIX)/lib/driver
       
    88 
       
    89 uninstall:
       
    90 	rm -f ../../examples/ecos_lpc2138_sja1000/lib/driver
       
    91 
       
    92 clean:
       
    93 	rm -f $(OBJS) build_baudrate baudrate_table.h 
       
    94 
       
    95 mrproper: clean
       
    96 	rm -f ../../lib/ecos_lpc2138_sja1000/libcandriver.a 
       
    97