|
|
# Copyright (c) 2012-2013, Texas Instruments Incorporated
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of Texas Instruments Incorporated nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Contact information for paper mail:
# Texas Instruments
# Post Office Box 655303
# Dallas, Texas 75265
# Contact information:
# http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
# DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
# ============================================================================
#
#
#
# ====== Toplevel Makefile ======
#
#
# Standard Boilerplate definitions which get overwritten by configure
#
CC = @CC@
VERSION = @PACKAGE_VERSION@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_DIST = $(PACKAGE_TARNAME)-$(VERSION)
DESKTOP_FILE_DIR = /usr/share
RM = rm
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
docdir = @docdir@
datarootdir = @datarootdir@
datadir = @datadir@
ifdef DESTDIR
else
DESTDIR =
endif
DOXYGEN = doxygen
#
# ====== Flags ======
#
INC_DIR := include
INC_CONFIG := .
PKG_CONFIG_CFLAGS := `pkg-config --cflags gtk+-2.0 gstreamer-0.10 gstreamer-interfaces-0.10`
CFLAGS += -Wall -ansi -pedantic -std=c99
CFLAGS += -I$(INC_DIR) -I$(INC_CONFIG) -DGST_APP_DEBUG $(PKG_CONFIG_CFLAGS)
PKG_CONFIG_LDFLAGS := `pkg-config --libs gtk+-2.0 gstreamer-0.10 gstreamer-interfaces-0.10`
LDFLAGS += $(PKG_CONFIG_LDFLAGS)
#
# ====== Support Verbose/Silent ======
#
VERBOSE ?= false
ifeq ($(VERBOSE), true)
Q :=
else
Q := @
endif
#
# ====== All targets ======
#
all: dual-decode
dual-decode: main.o gst-controller.o gui.o
@echo LD $^
$(Q)$(CC) -g $^ -o $@ $(LDFLAGS)
%.o: src/%.c
@echo CC $^
$(Q)$(CC) -c $< $(CFLAGS)
clean:
@echo CLEAN
$(Q)$(RM) -f *.o */*~ dual-decode
distclean: clean
@echo DISTCLEAN
$(Q)$(RM) -rf config.h config.status config.log configure \
config.h.in aclocal.m4 Makefile autom4te.cache
install:
install -d $(DESTDIR)$(bindir) $(DESTDIR)$(docdir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
install dual-decode $(DESTDIR)$(bindir)
install res/gui.xml $(DESTDIR)$(datadir)/$(PACKAGE_NAME)
mkdir -p $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps
install res/dual-decode.png $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps
mkdir -p $(DESTDIR)$(DESKTOP_FILE_DIR)/applications
install dual-decode.desktop $(DESTDIR)$(DESKTOP_FILE_DIR)/applications
uninstall:
rm -r $(DESTDIR)$(docdir)
rm -r $(DESTDIR)$(bindir)/$(PACKAGE_NAME)
rm -r $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/gui.xml
rm -r $(DESTDIR)$(DESKTOP_FILE_DIR)/pixmaps/dual-decode.png
rm -r $(DESTDIR)$(DESKTOP_FILE_DIR)/applications/dual-decode.desktop
doxygen:
$(Q)$(DOXYGEN)
dist:
@echo DIST
@echo MKDIR
$(Q)mkdir $(PACKAGE_DIST)
@echo CP
$(Q)for i in include src; do \
cp -rf $$i $(PACKAGE_DIST); \
done
$(Q)for i in autogen.sh aclocal.m4 config.h.in Makefile.in configure; do \
cp $$i $(PACKAGE_DIST); \
done
@echo TAR
$(Q)tar -c $(PACKAGE_DIST) -af $(PACKAGE_DIST).tar.gz
@echo RM
$(Q)rm -rf $(PACKAGE_DIST)
help:
@echo
@echo "all: Build $(PACKAGE_NAME)"
@echo "clean: Clean $(PACKAGE_NAME)"
@echo "doxygen: Generate Documentation"
@echo "distclean: Clean and delete autoconf generated files"
@echo "dist: Regenerate the release tarball"
@echo "install: Install $(PACKAGE_NAME)"
@echo
|