1 # Copyright (c) 2012-2013, Texas Instruments Incorporated
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions
5 # are met:
6 #
7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 #
10 # * Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the distribution.
13 #
14 # * Neither the name of Texas Instruments Incorporated nor the names of
15 # its contributors may be used to endorse or promote products derived
16 # from this software without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #
30 # Contact information for paper mail:
31 # Texas Instruments
32 # Post Office Box 655303
33 # Dallas, Texas 75265
34 # Contact information:
35 # http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
36 # DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
37 # ============================================================================
38 #
39 #
43 #
44 # ====== Toplevel Makefile ======
45 #
46 #
47 # Standard Boilerplate definitions which get overwritten by configure
48 #
50 CC = @CC@
51 VERSION = @PACKAGE_VERSION@
52 PACKAGE_NAME = @PACKAGE_NAME@
53 PACKAGE_TARNAME = @PACKAGE_TARNAME@
54 PACKAGE_DIST = $(PACKAGE_TARNAME)-$(VERSION)
55 DESKTOP_FILE_DIR = /usr/share
56 RM = rm
57 CFLAGS = @CFLAGS@
58 LDFLAGS = @LDFLAGS@
59 LIBS = @LIBS@
60 prefix = @prefix@
61 exec_prefix = @exec_prefix@
62 bindir = @bindir@
63 libdir = @libdir@
64 docdir = @docdir@
65 datarootdir = @datarootdir@
66 datadir = @datadir@
67 ifdef DESTDIR
68 else
69 DESTDIR =
70 endif
71 DOXYGEN = doxygen
74 #
75 # ====== Flags ======
76 #
78 INC_DIR := include
79 INC_CONFIG := .
81 PKG_CONFIG_CFLAGS := `pkg-config --cflags gtk+-2.0 gstreamer-0.10 gstreamer-interfaces-0.10`
82 CFLAGS += -Wall -ansi -pedantic -std=c99
83 CFLAGS += -I$(INC_DIR) -I$(INC_CONFIG) -DGST_APP_DEBUG $(PKG_CONFIG_CFLAGS)
85 PKG_CONFIG_LDFLAGS := `pkg-config --libs gtk+-2.0 gstreamer-0.10 gstreamer-interfaces-0.10`
86 LDFLAGS += $(PKG_CONFIG_LDFLAGS)
88 #
89 # ====== Support Verbose/Silent ======
90 #
92 VERBOSE ?= false
93 ifeq ($(VERBOSE), true)
94 Q :=
95 else
96 Q := @
97 endif
100 #
101 # ====== All targets ======
102 #
105 all: dual-decode
108 dual-decode: main.o gst-controller.o gui.o
109 @echo LD $^
110 $(Q)$(CC) -g $^ -o $@ $(LDFLAGS)
113 %.o: src/%.c
114 @echo CC $^
115 $(Q)$(CC) -c $< $(CFLAGS)
118 clean:
119 @echo CLEAN
120 $(Q)$(RM) -f *.o */*~ dual-decode
123 distclean: clean
124 @echo DISTCLEAN
125 $(Q)$(RM) -rf config.h config.status config.log configure \
126 config.h.in aclocal.m4 Makefile autom4te.cache
128 install:
129 install -d $(DESTDIR)$(bindir) $(DESTDIR)$(docdir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
130 install dual-decode $(DESTDIR)$(bindir)
131 install res/gui.xml $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
132 mkdir -p $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps
133 install res/dual-decode.png $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps
134 mkdir -p $(DESTDIR)$(DESKTOP_FILE_DIR)/applications
135 install dual-decode.desktop $(DESTDIR)$(DESKTOP_FILE_DIR)/applications
137 uninstall:
138 rm -r $(DESTDIR)$(docdir)
139 rm -r $(DESTDIR)$(bindir)/$(PACKAGE_NAME)
140 rm -r $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/gui.xml
141 rm -r $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps/dual-decode.png
142 rm -r $(DESTDIR)$(DESKTOP_FILE_DIR)/applications/dual-decode.desktop
144 doxygen:
145 $(Q)$(DOXYGEN)
148 dist:
149 @echo DIST
150 @echo MKDIR
151 $(Q)mkdir $(PACKAGE_DIST)
152 @echo CP
153 $(Q)for i in include src; do \
154 cp -rf $$i $(PACKAGE_DIST); \
155 done
156 $(Q)for i in autogen.sh aclocal.m4 config.h.in Makefile.in configure; do \
157 cp $$i $(PACKAGE_DIST); \
158 done
159 @echo TAR
160 $(Q)tar -c $(PACKAGE_DIST) -af $(PACKAGE_DIST).tar.gz
161 @echo RM
162 $(Q)rm -rf $(PACKAGE_DIST)
165 help:
166 @echo
167 @echo "all: Build $(PACKAGE_NAME)"
168 @echo "clean: Clean $(PACKAGE_NAME)"
169 @echo "doxygen: Generate Documentation"
170 @echo "distclean: Clean and delete autoconf generated files"
171 @echo "dist: Regenerate the release tarball"
172 @echo "install: Install $(PACKAGE_NAME)"
173 @echo