github.com/midokura/kubeedge@v1.2.0-mido.0/Makefile (about)

     1  # make all builds both cloud and edge binaries
     2  .PHONY: all
     3  ifeq ($(WHAT),)
     4  all:
     5  	cd cloud && $(MAKE)
     6  	cd edge && $(MAKE)
     7  	cd keadm && $(MAKE)
     8  	cd edgesite && $(MAKE)
     9  else ifeq ($(WHAT),cloudcore)
    10  # make all WHAT=cloudcore
    11  all:
    12  	cd cloud && $(MAKE) cloudcore
    13  else ifeq ($(WHAT),admission)
    14  # make all WHAT=admission
    15  all:
    16  	cd cloud && $(MAKE) admission
    17  else ifeq ($(WHAT),edgecore)
    18  all:
    19  # make all WHAT=edgecore
    20  	cd edge && $(MAKE)
    21  else ifeq ($(WHAT),edgesite)
    22  all:
    23  # make all WHAT=edgesite
    24  	$(MAKE) -C edgesite
    25  else ifeq ($(WHAT),keadm)
    26  all:
    27  # make all WHAT=keadm
    28  	cd keadm && $(MAKE)
    29  else
    30  # invalid entry
    31  all:
    32  	@echo $S"invalid option please choose to build either cloudcore, admission, edgecore, keadm, edgesite or all together"
    33  endif
    34  
    35  # unit tests
    36  .PHONY: edge_test
    37  edge_test:
    38  	cd edge && $(MAKE) test
    39  
    40  .PHONY: cloud_test
    41  cloud_test:
    42  	$(MAKE) -C cloud test
    43  
    44  # lint
    45  .PHONY: lint
    46  lint:edge_lint cloud_lint bluetoothdevice_lint keadm_lint
    47  
    48  .PHONY: edge_lint
    49  edge_lint:
    50  	cd edge && $(MAKE) lint
    51  
    52  .PHONY: cloud_lint
    53  cloud_lint:
    54  	cd cloud && $(MAKE) lint
    55  
    56  .PHONY: bluetoothdevice_lint
    57  bluetoothdevice_lint:
    58  	make -C mappers/bluetooth_mapper lint
    59  
    60  .PHONY: keadm_lint
    61  keadm_lint:
    62  	make -C keadm lint
    63  
    64  .PHONY: edge_integration_test
    65  edge_integration_test:
    66  	cd edge && $(MAKE) integration_test
    67  
    68  .PHONY: edge_cross_build
    69  edge_cross_build:
    70  	cd edge && $(MAKE) cross_build
    71  
    72  .PHONY: edge_cross_build_v7
    73  edge_cross_build_v7:
    74  	$(MAKE) -C edge armv7
    75  
    76  .PHONY: edge_cross_build_v8
    77  edge_cross_build_v8:
    78  	$(MAKE) -C edge armv8
    79  
    80  .PHONY: edgesite_cross_build
    81  edgesite_cross_build:
    82  	$(MAKE) -C edgesite cross_build
    83  
    84  .PHONY: edge_small_build
    85  edge_small_build:
    86  	cd edge && $(MAKE) small_build
    87  
    88  .PHONY: edgesite_cross_build_v7
    89  edgesite_cross_build_v7:
    90  	$(MAKE) -C edgesite armv7
    91  
    92  .PHONY: edgesite_cross_build_v8
    93  edgesite_cross_build_v8:
    94  	$(MAKE) -C edgesite armv8
    95  
    96  .PHONY: edgesite_small_build
    97  edgesite_small_build:
    98  	$(MAKE) -C edgesite small_build
    99  
   100  .PHONY: e2e_test
   101  e2e_test:
   102  #	bash tests/e2e/scripts/execute.sh device_crd
   103  #	This has been commented temporarily since there is an issue of CI using same master for all PRs, which is causing failures when run parallely
   104  	bash tests/e2e/scripts/execute.sh
   105  
   106  .PHONY: performance_test
   107  performance_test:
   108  	bash tests/performance/scripts/jenkins.sh
   109  
   110  QEMU_ARCH ?= x86_64
   111  ARCH ?= amd64
   112  IMAGE_TAG ?= $(shell git describe --tags)
   113  
   114  .PHONY: cloudimage
   115  cloudimage:
   116  	docker build -t kubeedge/cloudcore:${IMAGE_TAG} -f build/cloud/Dockerfile .
   117  
   118  .PHONY: admissionimage
   119  admissionimage:
   120  	docker build -t kubeedge/admission:${IMAGE_TAG} -f build/admission/Dockerfile .
   121  
   122  .PHONY: csidriverimage
   123  csidriverimage:
   124  	docker build -t kubeedge/csidriver:${IMAGE_TAG} -f build/csidriver/Dockerfile .
   125  
   126  .PHONY: edgeimage
   127  edgeimage:
   128  	mkdir -p ./build/edge/tmp
   129  	rm -rf ./build/edge/tmp/*
   130  	curl -L -o ./build/edge/tmp/qemu-${QEMU_ARCH}-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v3.0.0/qemu-${QEMU_ARCH}-static.tar.gz
   131  	tar -xzf ./build/edge/tmp/qemu-${QEMU_ARCH}-static.tar.gz -C ./build/edge/tmp
   132  	docker build -t kubeedge/edgecore:${IMAGE_TAG} \
   133  	--build-arg BUILD_FROM=${ARCH}/golang:1.12-alpine3.10 \
   134  	--build-arg RUN_FROM=${ARCH}/docker:dind \
   135  	-f build/edge/Dockerfile .
   136  
   137  .PHONY: edgesiteimage
   138  edgesiteimage:
   139  	mkdir -p ./build/edgesite/tmp
   140  	rm -rf ./build/edgesite/tmp/*
   141  	curl -L -o ./build/edgesite/tmp/qemu-${QEMU_ARCH}-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v3.0.0/qemu-${QEMU_ARCH}-static.tar.gz
   142  	tar -xzf ./build/edgesite/tmp/qemu-${QEMU_ARCH}-static.tar.gz -C ./build/edgesite/tmp
   143  	docker build -t kubeedge/edgesite:${IMAGE_TAG} \
   144  	--build-arg BUILD_FROM=${ARCH}/golang:1.12-alpine3.10 \
   145  	--build-arg RUN_FROM=${ARCH}/docker:dind \
   146  	-f build/edgesite/Dockerfile .
   147  
   148  .PHONY: verify
   149  verify:
   150  	bash hack/verify-golang.sh
   151  	bash hack/verify-vendor.sh
   152  	bash cloud/hack/verify-codegen.sh
   153  
   154  .PHONY: bluetoothdevice
   155  bluetoothdevice:
   156  	make -C mappers/bluetooth_mapper
   157  
   158  .PHONY: bluetoothdevice_image
   159  bluetoothdevice_image:
   160  	make -C mappers/bluetooth_mapper bluetooth_mapper_image