Makefile 1011 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Copyright (C) 2022 StarFive Technology Co., Ltd.
  4. #
  5. ##################################################
  6. CROSS ?=
  7. CC := $(CROSS)gcc
  8. AR := $(CROSS)ar
  9. LD := $(CROSS)ld
  10. RM := rm -rf
  11. SRC_DIR := $(shell pwd)/v4l2_test
  12. LDLIBS += -lv4l2 -ljpeg -ldrm -L/usr/local/lib
  13. CFLAGS += -Wall -g -O2 -I$(SRC_DIR) -I/usr/local/include -I/usr/local/include/libdrm
  14. PROG := $(SRC_DIR)/v4l2test
  15. CSOURCE := $(SRC_DIR)/common.c \
  16. $(SRC_DIR)/yuv.c \
  17. $(SRC_DIR)/convert.c \
  18. $(SRC_DIR)/stf_v4l2.c \
  19. $(SRC_DIR)/stf_framebuffer.c \
  20. $(SRC_DIR)/stf_drm.c \
  21. $(SRC_DIR)/stf_log.c \
  22. $(SRC_DIR)/v4l2_test.c
  23. HSOURCE := $(shell find $(SRC_DIR) -type f -name "*.h")
  24. OBJECTS := $(subst .c,.o,$(CSOURCE))
  25. default: $(PROG)
  26. $(PROG): $(OBJECTS)
  27. $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDLIBS)
  28. .PHONY: clean install
  29. install: $(PROG)
  30. mkdir -p $(<D)/../install
  31. install -m 0755 -D $< $(<D)/../install/
  32. install -m 0755 -D $(<D)/media-ctl-pipeline.sh $(<D)/../install/
  33. clean:
  34. $(RM) $(PROG) $(OBJECTS)