]> rtime.felk.cvut.cz Git - CanFestival-3.git/blob - examples/TestMasterSlave/Makefile.in
Add win32 target (--can=win32) to compile with msys and mingw32
[CanFestival-3.git] / examples / TestMasterSlave / 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 EXE_CFLAGS = SUB_EXE_CFLAGS
29 OS_NAME = SUB_OS_NAME
30 ARCH_NAME = SUB_ARCH_NAME
31 PREFIX = SUB_PREFIX
32 TARGET = SUB_TARGET
33 CAN_DRIVER = SUB_CAN_DRIVER
34 TIMERS_DRIVER = SUB_TIMERS_DRIVER
35 TESTMASTERSLAVE = "TestMasterSlave"
36
37 INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER) -I../../include/$(TIMERS_DRIVER)
38
39 MASTER_OBJS = TestSlave.o TestMaster.o TestMasterSlave.o Slave.o Master.o
40
41 OBJS = $(MASTER_OBJS) ../../src/libcanfestival.a ../../drivers/$(TARGET)/libcanfestival_$(TARGET).a
42
43 ifeq ($(TARGET),win32)
44         TESTMASTERSLAVE = "TestMasterSlave.exe"
45 endif
46
47 ifeq ($(TIMERS_DRIVER),timers_win32)
48         EXE_CFLAGS =
49 endif
50
51 ifeq ($(TIMERS_DRIVER),timers_xeno)
52         PROGDEFINES = -DUSE_XENO
53 endif
54
55 all: TestMasterSlave
56
57 ../../drivers/$(TARGET)/libcanfestival_$(TARGET).a:
58         $(MAKE) -C ../../drivers/$(TARGET) libcanfestival_$(TARGET).a
59
60
61 TestMasterSlave: TestSlave.c TestMaster.c $(OBJS)
62         g++ $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS)
63         
64 TestSlave.c: TestSlave.od
65         $(MAKE) -C ../../objdictgen gnosis
66         python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c
67         
68 TestMaster.c: TestMaster.od
69         $(MAKE) -C ../../objdictgen gnosis
70         python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c
71
72 %o: %c
73         $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
74
75 clean:
76         rm -f $(MASTER_OBJS)
77         rm -f $(TESTMASTERSLAVE)
78                 
79 mrproper: clean
80         rm -f TestSlave.c
81         rm -f TestMaster.c
82         
83 install: TestMasterSlave
84         mkdir -p $(PREFIX)/bin/
85         cp $< $(PREFIX)/bin/
86         
87 uninstall:
88         rm -f $(PREFIX)/bin/TestMasterSlave
89
90
91