Skip to content
Snippets Groups Projects
Select Git revision
  • d72360d8a07e04f121f80881c7ac34684acc45d9
  • main default
  • tammojan
  • slow_mode
  • debian-service
  • jeroen
  • dpkg
  • bless_test
  • improve_sattracker
  • update_dockerfile
  • yellowoffset
  • decplus
  • focusboxmouseout
  • trace2port_startup
  • 2016-04-02-trace2port
  • scan
  • azerror
  • beaglebone
  • build
  • corso2014
  • sercos
  • console_2020-06-28
  • controller_2020-06-28
  • 2018-01-17
  • 2016-04-02-with-trace2port
  • 2016-04-02
  • DT_update
  • 2013-06-21
28 results

Makefile

Blame
  • Makefile 3.60 KiB
    .PHONY: clean all rel_mktemp_dir console controller help
    
    CONTROLLER_REL_TAR:=$(CURDIR)/controller_$(shell date +%Y%m%d%H%M).tar.gz
    CONSOLE_REL_TAR:=$(CURDIR)/console_$(shell date +%Y%m%d%H%M).tar.gz
    
    all:
    	$(MAKE) -C common/utils
    	$(MAKE) -C common/trace
    	$(MAKE) -C common/log
    	$(MAKE) -C controller
    	cd libnova-0.13.0 ; ./configure -enable-static -disable-shared --prefix=${CURDIR} ; make; make install
    	$(MAKE) -C console
    
    help:
    	@echo "Available build rules"; \
    	echo  "---------------------"; \
    	echo "   console             Build all executables for the console"; \
    	echo "   controller          Build the controller executables"; \
    	echo "   all                 Build both controller and console"; \
    	echo "   release_console     Build a release tar file for the console"; \
    	echo "   release_controller  Build a release tar file for the controller"; \
    	echo "   release             Build both controller and console release"; \
    	echo "   clean               Clean for both controller and console"; \
    	echo ""; \
    	echo "Building a release"; \
    	echo "------------------"; \
    	echo "Simply running \"make release\" will build both the console and"; \
    	echo "controller. They are stored in individual tar files, in the root"; \
    	echo "of the dt_ctrl directory."; \
    	echo "The releases are built in a temporary work directory from a clean"; \
    	echo "git checkout. A release to be used for production must always"; \
    	echo "be built from a version which is already committed to the"; \
    	echo "golden repository (on eris.camras.nl)."
    
    
    controller:
    	$(MAKE) -C common/log
    	$(MAKE) -C common/utils
    	$(MAKE) -C common/trace
    	$(MAKE) -C controller
    
    console:
    	$(MAKE) -C common/log
    	$(MAKE) -C common/utils
    	$(MAKE) -C common/trace
    	cd libnova-0.13.0 ; ./configure -enable-static -disable-shared --prefix=${CURDIR} ; make; make install
    	$(MAKE) -C console
    
    clean:
    	$(MAKE) -C common/log clean
    	$(MAKE) -C common/utils clean
    	$(MAKE) -C common/trace clean
    	$(MAKE) -C controller clean
    	cd libnova-0.13.0 ; make clean || true
    	$(MAKE) -C console clean
    
    # Rules for building a release
    
    rel_mktemp_dir:
    	$(eval REL_BUILD_DIR:=$(shell mktemp -d /tmp/dt_ctrl_XXXXXX))
    	@echo "****** Building code in dir: $(REL_BUILD_DIR)"
    
    rel_clone_dir: rel_mktemp_dir
    	@echo "****** Creating clean checkout of source"; \
    	git clone . $(REL_BUILD_DIR) >/dev/null; \
    	echo "       Done"
    
    rel_utils: rel_clone_dir
    	@echo "****** Building common/utils"; \
    	$(MAKE) -C $(REL_BUILD_DIR)/common/utils >/dev/null; \