blob: 4f3d2270648a94ac579a2e43ad7024530ed78d43 [file] [log] [blame]
hualing chen7c8ff2e2021-08-12 15:39:37 +08001OUTPUT_FILES := libamdvr.so am_fend_test am_dmx_test am_smc_test dvr_wrapper_test
Gong Ke2a0ebbe2021-05-25 15:22:50 +08002
3CFLAGS := -Wall -O2 -fPIC -Iinclude
4LDFLAGS := -L$(TARGET_DIR)/usr/lib -lmediahal_tsplayer -laudio_client -llog -lpthread -ldl
Wentao MAb3a591c2024-01-02 16:19:08 +08005OUT_DIR ?= .
Gong Ke2a0ebbe2021-05-25 15:22:50 +08006
7LIBAMDVR_SRCS := \
8 src/dvb_dmx_wrapper.c\
9 src/dvb_utils.c\
10 src/dvr_record.c\
11 src/dvr_utils.c\
12 src/index_file.c\
13 src/record_device.c\
14 src/dvb_frontend_wrapper.c\
15 src/dvr_playback.c\
16 src/dvr_segment.c\
17 src/dvr_wrapper.c\
18 src/list_file.c\
Yahui Han1fbf3292021-11-08 18:17:19 +080019 src/segment.c\
Zhiqiang Han2f019af2023-08-31 11:12:02 +080020 src/segment_dataout.c\
Yahui Han1fbf3292021-11-08 18:17:19 +080021 src/am_crypt.c\
Zhiqiang Hana67a8252023-02-25 18:23:48 +080022 src/dvr_mutex.c
Zhiqiang Han2f019af2023-08-31 11:12:02 +080023
Wentao MAb3a591c2024-01-02 16:19:08 +080024LIBAMDVR_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(LIBAMDVR_SRCS))
Gong Ke2a0ebbe2021-05-25 15:22:50 +080025
26AM_FEND_TEST_SRCS := \
27 test/am_fend_test/am_fend_test.c
Wentao MAb3a591c2024-01-02 16:19:08 +080028AM_FEND_TEST_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(AM_FEND_TEST_SRCS))
Gong Ke2a0ebbe2021-05-25 15:22:50 +080029
30AM_DMX_TEST_SRCS := \
31 test/am_dmx_test/am_dmx_test.c
Wentao MAb3a591c2024-01-02 16:19:08 +080032AM_DMX_TEST_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(AM_DMX_TEST_SRCS))
Gong Ke2a0ebbe2021-05-25 15:22:50 +080033
hualing chen7c8ff2e2021-08-12 15:39:37 +080034AM_SMC_TEST_SRCS := \
35 test/am_smc_test/am_sc2_smc_test.c \
36 test/am_smc_test/am_smc.c \
37 test/am_smc_test/aml.c \
38 test/am_smc_test/am_time.c \
39 test/am_smc_test/am_evt.c \
40 test/am_smc_test/am_thread.c
Wentao MAb3a591c2024-01-02 16:19:08 +080041AM_SMC_TEST_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(AM_SMC_TEST_SRCS))
Gong Ke2a0ebbe2021-05-25 15:22:50 +080042
43DVR_WRAPPER_TEST_SRCS := \
44 test/dvr_wrapper_test/dvr_wrapper_test.c
Wentao MAb3a591c2024-01-02 16:19:08 +080045DVR_WRAPPER_TEST_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(DVR_WRAPPER_TEST_SRCS))
Gong Ke2a0ebbe2021-05-25 15:22:50 +080046
47
48all: $(OUTPUT_FILES)
49
Wentao MAb3a591c2024-01-02 16:19:08 +080050$(OUT_DIR)/%.o: %.c
51 mkdir -p $(dir $@)
Gong Ke2a0ebbe2021-05-25 15:22:50 +080052 $(CC) -c -o $@ $< $(CFLAGS)
53
54libamdvr.so: $(LIBAMDVR_OBJS)
Wentao MAb3a591c2024-01-02 16:19:08 +080055 $(CC) -shared -o $(OUT_DIR)/$@ $^ $(LDFLAGS)
Gong Ke2a0ebbe2021-05-25 15:22:50 +080056
57am_fend_test: $(AM_FEND_TEST_OBJS) libamdvr.so
Wentao MAb3a591c2024-01-02 16:19:08 +080058 $(CC) -o $(OUT_DIR)/$@ $(AM_FEND_TEST_OBJS) -L$(OUT_DIR) -lamdvr $(LDFLAGS)
Gong Ke2a0ebbe2021-05-25 15:22:50 +080059
60am_dmx_test: $(AM_DMX_TEST_OBJS) libamdvr.so
Wentao MAb3a591c2024-01-02 16:19:08 +080061 $(CC) -o $(OUT_DIR)/$@ $(AM_DMX_TEST_OBJS) -L$(OUT_DIR) -lamdvr $(LDFLAGS)
Gong Ke2a0ebbe2021-05-25 15:22:50 +080062
hualing chen7c8ff2e2021-08-12 15:39:37 +080063am_smc_test: $(AM_SMC_TEST_OBJS) libamdvr.so
Wentao MAb3a591c2024-01-02 16:19:08 +080064 $(CC) -o $(OUT_DIR)/$@ $(AM_SMC_TEST_OBJS) -L$(OUT_DIR) -lamdvr $(LDFLAGS)
hualing chen7c8ff2e2021-08-12 15:39:37 +080065
Gong Ke2a0ebbe2021-05-25 15:22:50 +080066dvr_wrapper_test: $(DVR_WRAPPER_TEST_OBJS) libamdvr.so
Wentao MAb3a591c2024-01-02 16:19:08 +080067 $(CC) -o $(OUT_DIR)/$@ $(DVR_WRAPPER_TEST_OBJS) -L$(OUT_DIR) -lamdvr $(LDFLAGS)
Gong Ke2a0ebbe2021-05-25 15:22:50 +080068
69install: $(OUTPUT_FILES)
Wentao MAb3a591c2024-01-02 16:19:08 +080070 # install folders
Gong Ke2a0ebbe2021-05-25 15:22:50 +080071 install -d -m 0755 $(STAGING_DIR)/usr/include/libdvr
Wentao MAb3a591c2024-01-02 16:19:08 +080072 install -d -m 0755 $(TARGET_DIR)/usr/include/libdvr
73 install -d $(TARGET_DIR)/usr/lib
74 install -d $(TARGET_DIR)/usr/bin
75 # install so
76 install -m 0755 $(OUT_DIR)/libamdvr.so $(STAGING_DIR)/usr/lib
77 install -m 0755 $(OUT_DIR)/libamdvr.so $(TARGET_DIR)/usr/lib
78 # install test
79 install -m 0755 $(OUT_DIR)/am_fend_test $(STAGING_DIR)/usr/bin
80 install -m 0755 $(OUT_DIR)/am_fend_test $(TARGET_DIR)/usr/bin
81 install -m 0755 $(OUT_DIR)/am_dmx_test $(STAGING_DIR)/usr/bin
82 install -m 0755 $(OUT_DIR)/am_dmx_test $(TARGET_DIR)/usr/bin
83 install -m 0755 $(OUT_DIR)/am_smc_test $(STAGING_DIR)/usr/bin
84 install -m 0755 $(OUT_DIR)/am_smc_test $(TARGET_DIR)/usr/bin
85 install -m 0755 $(OUT_DIR)/dvr_wrapper_test $(STAGING_DIR)/usr/bin
86 install -m 0755 $(OUT_DIR)/dvr_wrapper_test $(TARGET_DIR)/usr/bin
87 # install headers
Gong Ke2a0ebbe2021-05-25 15:22:50 +080088 install -m 0644 ./include/* $(STAGING_DIR)/usr/include/libdvr
Wentao MAb3a591c2024-01-02 16:19:08 +080089 install -m 0644 ./include/* $(TARGET_DIR)/usr/include/libdvr
90 install -m 0644 ./include/dvb_*.h $(TARGET_DIR)/usr/include
91 install -m 0644 ./include/dvr_*.h $(TARGET_DIR)/usr/include
92 install -m 0644 ./include/segment.h $(TARGET_DIR)/usr/include
93 install -m 0644 ./include/segment_ops.h $(TARGET_DIR)/usr/include
94 install -m 0644 ./include/list.h $(TARGET_DIR)/usr/include
Gong Ke2a0ebbe2021-05-25 15:22:50 +080095
96clean:
Wentao MAb3a591c2024-01-02 16:19:08 +080097 find $(OUT_DIR) -name \*.o -exec rm -f {} \;
Gong Ke2a0ebbe2021-05-25 15:22:50 +080098
99.PHONY: all install clean