examples/CANOpenShell/Makefile.in
author Christian Taedcke <hacking@taedcke.com>
Thu, 22 Dec 2011 11:42:44 +0100
changeset 673 f511d955ac30
parent 658 7758d60e9260
child 790 1936110171a2
permissions -rwxr-xr-x
FIXED: - the macro SUB_PROG_CFLAGS was overwritten for 64bit machines using gcc. Because of this the xenomai compilation failed.
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     1
#! gmake
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     2
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     3
#
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     4
# Copyright (C) 2006 Laurent Bessard
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     5
# 
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     6
# This file is part of canfestival, a library implementing the canopen
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     7
# stack
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     8
# 
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
     9
# This library is free software; you can redistribute it and/or
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    10
# modify it under the terms of the GNU Lesser General Public
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    11
# License as published by the Free Software Foundation; either
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    12
# version 2.1 of the License, or (at your option) any later version.
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    13
# 
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    14
# This library is distributed in the hope that it will be useful,
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    17
# Lesser General Public License for more details.
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    18
# 
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    19
# You should have received a copy of the GNU Lesser General Public
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    20
# License along with this library; if not, write to the Free Software
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    21
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    22
# 
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    23
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    24
CC = SUB_CC
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    25
CXX = SUB_CXX
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    26
LD = SUB_LD
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    27
OPT_CFLAGS = -O2
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    28
CFLAGS = SUB_OPT_CFLAGS
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    29
PROG_CFLAGS = SUB_PROG_CFLAGS
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    30
EXE_CFLAGS = SUB_EXE_CFLAGS
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    31
OS_NAME = SUB_OS_NAME
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    32
ARCH_NAME = SUB_ARCH_NAME
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    33
PREFIX = SUB_PREFIX
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    34
TARGET = SUB_TARGET
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    35
CAN_DRIVER = SUB_CAN_DRIVER
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    36
TIMERS_DRIVER = SUB_TIMERS_DRIVER
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    37
CANOPENSHELL = CANOpenShell
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    38
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    39
INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER) -I../../include/$(TIMERS_DRIVER)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    40
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    41
MASTER_OBJS = CANOpenShellMasterOD.o CANOpenShellSlaveOD.o CANOpenShell.o
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    42
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    43
OBJS = $(MASTER_OBJS) ../../src/libcanfestival.a ../../drivers/$(TARGET)/libcanfestival_$(TARGET).a
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    44
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    45
ifeq ($(TARGET),win32)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    46
	CANOPENSHELL = CANOpenShell.exe
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    47
endif
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    48
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    49
ifeq ($(TIMERS_DRIVER),timers_win32)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    50
	EXE_CFLAGS =
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    51
endif
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    52
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    53
ifeq ($(TIMERS_DRIVER),timers_xeno)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    54
	PROGDEFINES = -DUSE_XENO
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    55
endif
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    56
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    57
ifeq ($(TIMERS_DRIVER),timers_rtai)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    58
	PROGDEFINES = -DUSE_RTAI
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    59
endif
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    60
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    61
all: $(CANOPENSHELL)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    62
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    63
../../drivers/$(TARGET)/libcanfestival_$(TARGET).a:
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    64
	$(MAKE) -C ../../drivers/$(TARGET) libcanfestival_$(TARGET).a
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    65
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    66
$(CANOPENSHELL): $(OBJS)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    67
	$(LD) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    68
	mkdir -p Debug; cp $(CANOPENSHELL) Debug
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    69
	
558
bcf69ff203de Add build command for master OD and slave OD
greg
parents: 555
diff changeset
    70
CANOpenShellMasterOD.c: CANOpenShellMasterOD.od
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    71
	$(MAKE) -C ../../objdictgen gnosis
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    72
	python ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c
558
bcf69ff203de Add build command for master OD and slave OD
greg
parents: 555
diff changeset
    73
bcf69ff203de Add build command for master OD and slave OD
greg
parents: 555
diff changeset
    74
CANOpenShellSlaveOD.c: CANOpenShellSlaveOD.od
bcf69ff203de Add build command for master OD and slave OD
greg
parents: 555
diff changeset
    75
	$(MAKE) -C ../../objdictgen gnosis
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    76
	python ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    77
658
7758d60e9260 FIXED: - changed make targets from "%o: %c" to "%.o: %.c" (Patch from irc <oleg_osov>)
Christian Taedcke
parents: 578
diff changeset
    78
%.o: %.c
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    79
	$(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    80
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    81
clean:
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    82
	rm -f $(MASTER_OBJS)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    83
	rm -f $(CANOPENSHELL)
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    84
		
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    85
mrproper: clean
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    86
	rm -f CANOpenShellMasterOD.c
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    87
	rm -f CANOpenShellSlaveOD.c
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents:
diff changeset
    88
578
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    89
install: $(CANOPENSHELL)
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    90
	mkdir -p $(PREFIX)/bin/
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    91
	cp $< $(PREFIX)/bin/
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    92
	
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    93
uninstall:
eb67d9aa714f add install/uninstall rules in Makefile.in
greg
parents: 558
diff changeset
    94
	rm -f $(PREFIX)/bin/$(CANOPENSHELL)