summaryrefslogtreecommitdiff
path: root/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile
blob: f9c068a1c07cda7819d30173d9d722df09c26a5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#
# Makefile for the HDFF firmware command interface library
#

VERSION = 0.1.0

ifndef $(INSTALL_PATH)
    INSTALL_PATH=/usr/local
endif

ifndef $(INSTALL_LIB_PATH)
    INSTALL_LIB_PATH=$(INSTALL_PATH)/lib
endif

ifndef $(INSTALL_INCLUDE_PATH)
    INSTALL_INCLUDE_PATH=$(INSTALL_PATH)/include
endif

LIB_NAME = libhdffcmd

LIB_OBJS = bitbuffer.o hdffcmd_av.o hdffcmd_base.o hdffcmd_generic.o \
           hdffcmd_hdmi.o hdffcmd_mux.o hdffcmd_osd.o hdffcmd_remote.o

LIB_HEADERS = hdffcmd.h hdffcmd_av.h hdffcmd_generic.h hdffcmd_hdmi.h \
              hdffcmd_mux.h hdffcmd_osd.h hdffcmd_remote.h

LIB_STATIC = $(LIB_NAME).a
LIB_SHARED = $(LIB_NAME)-$(VERSION).so

CC     = gcc
CFLAGS = -g -O2 -fPIC -Wall
AR     = ar -r

### Implicit rules:

%.o: %.c
	$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $<

# Dependencies:

MAKEDEP = $(CC) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
	@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@

-include $(DEPFILE)

### Targets:

all: $(LIB_STATIC) $(LIB_SHARED)

$(LIB_STATIC): $(LIB_OBJS)
	$(AR) $(LIB_STATIC) $(LIB_OBJS)

$(LIB_SHARED): $(LIB_OBJS)
	$(CC) -fPIC -shared -o $(LIB_SHARED) $(LIB_OBJS)
	ln -sf $(LIB_SHARED) $(LIB_NAME).so

clean:
	rm -f $(LIB_OBJS) $(DEPFILE) $(LIB_STATIC) $(LIB_NAME)*.so

install: $(LIB_SHARED)
	chown root $(LIB_SHARED)
	chgrp root $(LIB_SHARED)
	chmod 0755 $(LIB_SHARED)
	cp -f $(LIB_SHARED) $(INSTALL_LIB_PATH)/
	ln -sf $(LIB_SHARED) $(INSTALL_LIB_PATH)/$(LIB_NAME).so
	mkdir -p  $(INSTALL_INCLUDE_PATH)/libhdffcmd
	list='$(LIB_HEADERS)'; \
	for headerfile in $$list; do \
	  cp -f $$headerfile $(INSTALL_INCLUDE_PATH)/libhdffcmd/ ; \
	  chown root $(INSTALL_INCLUDE_PATH)/libhdffcmd/$$headerfile ; \
	  chgrp root $(INSTALL_INCLUDE_PATH)/libhdffcmd/$$headerfile ; \
	  chmod 0644 $(INSTALL_INCLUDE_PATH)/libhdffcmd/$$headerfile ; \
	done