############################################################################ # Workfile: Makefile # Author: Daniel Giritzer, S1810567004 (daniel@giritzer.eu) # Date: 03.12.2018 # Description: Universal Makefile for Unix based Operating Systems ############################################################################ WORKDIR = $(shell pwd) all: freetype allegro nanox fltk _template linux_package windows_package android_package #### Dependencies freetype: cd $(WORKDIR)/packages/freetype2; \ make allegro: cd $(WORKDIR)/packages/allegro5.1.13; \ make nanox: cd $(WORKDIR)/packages/nanox; \ make fltk: cd $(WORKDIR)/packages/fltk1.3; \ make tinyxml: cd $(WORKDIR)/packages/tinyxml; \ make #### _template App _template: cd $(WORKDIR)/src; \ make #### Clean clean_freetype: cd $(WORKDIR)/packages/freetype2; \ make clean clean_allegro: cd $(WORKDIR)/packages/allegro5.1.13; \ make clean clean_nanox: cd $(WORKDIR)/packages/nanox; \ make clean clean_fltk: cd $(WORKDIR)/packages/fltk1.3; \ make clean clean_tinyxml: cd $(WORKDIR)/packages/tinyxml; \ make clean clean__template: cd $(WORKDIR)/src; \ make clean clean_lib: rm -rf $(WORKDIR)/lib/ rm -rf $(WORKDIR)/tools/ find $(WORKDIR)/include/ ! -name 'json.h' ! -name '.gitignore' -type f -exec rm -f {} + find $(WORKDIR)/include/ -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \; ### Create packages linux_package: mkdir -p $(WORKDIR)/install_package/linux/lib mkdir -p $(WORKDIR)/install_package/linux/bin $(WORKDIR)/scripts/copydeps.sh $(WORKDIR)/src/bin/Release_Linux/_template $(WORKDIR)/install_package/linux/lib cp $(WORKDIR)/src/bin/Release_Linux/_template $(WORKDIR)/install_package/linux/bin cp $(WORKDIR)/src/start__template $(WORKDIR)/install_package/linux/ cp $(WORKDIR)/src/start__template.desktop $(WORKDIR)/install_package/linux/ cp $(WORKDIR)/src/Icon.png $(WORKDIR)/install_package/linux/ tar -zcvf $(WORKDIR)/install_package/install_linux -C $(WORKDIR)/install_package/linux/ . $(WORKDIR)/scripts/gen_package_linux.sh $(WORKDIR)/install_package/install_linux rm $(WORKDIR)/install_package/install_linux windows_package: mkdir -p $(WORKDIR)/install_package/windows/ cp $(WORKDIR)/src/bin/Release_Windows/_template.exe $(WORKDIR)/install_package/windows/ cd $(WORKDIR)/scripts/; \ ./gen_package_windows.sh $(WORKDIR)/install_package/windows/*; \ mv ./*.exe $(WORKDIR)/install_package/install_windows.exe android_package: mkdir -p $(WORKDIR)/install_package/ cp $(WORKDIR)/src/bin/Android/_template.apk $(WORKDIR)/install_package/ clean: clean_lib clean__template clean_fltk clean_tinyxml clean_allegro clean_nanox clean_freetype