stages:
    - build
    - pages

job_linux:
    stage: build
    before_script:
        - apt-get update -qq && apt-get install -y -qq zip
        - apt-get install -y -qq libsdl1.2-dev libpng-dev libsdl-ttf2.0-dev libsdl-image1.2-dev liblua5.2-dev
        - apt-get install -y -qq libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev doxygen graphviz
    script:
        - "make -j3 && make ziprelease"
        - "API=sdl2 make -j3 && API=sdl2 make ziprelease"
        - "make docarchive"
        - "echo $CI_JOB_ID > LINUX_JOB_ID"
    artifacts:
        paths:
            - "*.zip"
            - "grafx2*.tgz"
            - "VERSION"
            - "LINUX_JOB_ID"

pages:
    stage: pages
    script:
        - "NOLUA=1 API=x11 make htmldoc"
        - "mkdir -p public/htmldoc && cp doc/html/* public/htmldoc/"
        - "./.gitlab-page.sh"
        - "cd public && tar xzf ../grafx2*doxygen.tgz"
    artifacts:
        paths:
            - public
    only:
        - master
        - gitlab-pages

job_win32:
    stage: build
    before_script:
        - apt-get update -qq && apt-get install -y -qq zip dos2unix
        - apt-get install -y -qq gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools nsis
    script:
        - "WIN32CROSS=1 make 3rdparty -j2"
        - "WIN32CROSS=1 make -j2"
        - "WIN32CROSS=1 make ziprelease"
        - "WIN32CROSS=1 make win32installer"
        - "WIN32CROSS=1 API=win32 make -j2"
        - "WIN32CROSS=1 API=win32 make ziprelease"
        - "WIN32CROSS=1 API=win32 make win32installer"
        - "WIN32CROSS=1 API=sdl2 make 3rdparty -j2"
        - "WIN32CROSS=1 API=sdl2 make -j2"
        - "WIN32CROSS=1 API=sdl2 make ziprelease"
        - "WIN32CROSS=1 API=sdl2 make win32installer"
        - "echo $CI_JOB_ID > WIN32_JOB_ID"
    artifacts:
        paths:
            - "*.zip"
            - "install/grafx2*.exe"
            - "WIN32_JOB_ID"

job_atari:
    stage: build
    before_script:
        - apt-get update -qq && apt-get install -y -qq zip dos2unix
        - "sh ./.install-cross-mint.sh"
    script:
        - "ATARICROSS=1 make 3rdparty -j2"
        - "ATARICROSS=1 make -j2"
        - "ATARICROSS=1 make ziprelease"
        - "echo $CI_JOB_ID > ATARI_JOB_ID"
    artifacts:
        paths:
            - "*.zip"
            - "ATARI_JOB_ID"

job_gp2x:
    stage: build
    before_script:
        - dpkg --add-architecture i386
        - apt-get update -qq && apt-get install -y -qq zip dos2unix
        - apt-get install -y -qq multiarch-support libc6:i386
        - "sh ./.install-gp2x-toolchain.sh"
    script:
        - "NOLUA=1 GP2XCROSS=1 make -j2 grafx2"
        - "NOLUA=1 GP2XCROSS=1 make ziprelease"
        - "echo $CI_JOB_ID > GP2X_JOB_ID"
    artifacts:
        paths:
            - "*.zip"
            - "GP2X_JOB_ID"
