--- - name: Check out squeezelite ansible.builtin.git: repo: "{{ pi_squeezelite_custom_repo }}" dest: /opt/squeezelite-src version: "{{ pi_squeezelite_custom_version }}" force: true register: pi_squeezelite_custom_checkout - name: Check whether a built binary already exists ansible.builtin.stat: path: /opt/squeezelite register: pi_squeezelite_custom_binary - name: Write the makefile (upstream Makefile plus this build's options) # Same options as the ARM build in "custom build/readme_build.md", minus the ARMv6 # -march/-mfpu/-mfloat-abi flags that make no sense for aarch64. No RPI (GPIO switching) # option. -lasound is added explicitly, as before. ansible.builtin.copy: dest: /opt/squeezelite-src/mymakefile mode: "0644" content: | OPTS = -DLINUX -DRESAMPLE -DDSD -DUSE_SSL -DLINKALL -I./include -I./include/opus -I./include/alac -I/usr/local/include LDFLAGS = -L./lib -L/usr/local/lib -s -lasound include Makefile - name: Build squeezelite ansible.builtin.shell: cmd: make -f mymakefile clean && make -f mymakefile chdir: /opt/squeezelite-src when: pi_squeezelite_custom_checkout.changed or not pi_squeezelite_custom_binary.stat.exists changed_when: true - name: Install built squeezelite ansible.builtin.copy: src: /opt/squeezelite-src/squeezelite dest: /opt/squeezelite mode: "700" remote_src: true notify: Restart squeezelite