1 #------------------------------------------------------------------------------ |
|
2 # |
|
3 # Makefile |
|
4 # |
|
5 # IgH EtherCAT master module |
|
6 # |
|
7 # $Id$ |
|
8 # |
|
9 # Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH |
|
10 # |
|
11 # This file is part of the IgH EtherCAT Master. |
|
12 # |
|
13 # The IgH EtherCAT Master is free software; you can redistribute it |
|
14 # and/or modify it under the terms of the GNU General Public License |
|
15 # as published by the Free Software Foundation; either version 2 of the |
|
16 # License, or (at your option) any later version. |
|
17 # |
|
18 # The IgH EtherCAT Master is distributed in the hope that it will be |
|
19 # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
21 # GNU General Public License for more details. |
|
22 # |
|
23 # You should have received a copy of the GNU General Public License |
|
24 # along with the IgH EtherCAT Master; if not, write to the Free Software |
|
25 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
|
26 # |
|
27 # The right to use EtherCAT Technology is granted and comes free of |
|
28 # charge under condition of compatibility of product made by |
|
29 # Licensee. People intending to distribute/sell products based on the |
|
30 # code, have to sign an agreement to guarantee that products using |
|
31 # software based on IgH EtherCAT master stay compatible with the actual |
|
32 # EtherCAT specification (which are released themselves as an open |
|
33 # standard) as the (only) precondition to have the right to use EtherCAT |
|
34 # Technology, IP and trade marks. |
|
35 # |
|
36 #------------------------------------------------------------------------------ |
|
37 |
|
38 INC := $(shell xml2-config --cflags) |
|
39 LIB := $(shell xml2-config --libs) |
|
40 EXE := ecxmld |
|
41 |
|
42 SVNREV := $(shell svnversion . || echo "unknown") |
|
43 CFLAGS += -Wall -DSVNREV="$(SVNREV)" |
|
44 LDFLAGS += -Wall |
|
45 CC := g++ |
|
46 |
|
47 OBJ := pdo_entry.o pdo.o sync_manager.o slave_device.o main.o |
|
48 |
|
49 #------------------------------------------------------------------------------ |
|
50 |
|
51 all: .depend $(EXE) |
|
52 |
|
53 $(EXE): $(OBJ) |
|
54 $(CC) $(LDFLAGS) $(OBJ) $(LIB) -o $(EXE) |
|
55 |
|
56 doc: |
|
57 doxygen Doxyfile |
|
58 |
|
59 %.o: %.cpp |
|
60 $(CC) -c $(CFLAGS) $(INC) $< -o $@ |
|
61 |
|
62 .depend depend dep: |
|
63 (for file in *.cpp; do $(CC) -M $(INC) $$file; done) > .depend |
|
64 |
|
65 clean: |
|
66 @rm -f *.o *~ $(EXE) .depend core |
|
67 |
|
68 #------------------------------------------------------------------------------ |
|
69 |
|
70 ifneq ($(wildcard .depend),) |
|
71 include .depend |
|
72 endif |
|
73 |
|
74 #------------------------------------------------------------------------------ |
|