Because we need some tools on our PC (rsync and gnu-make) ...
- Set up for build process to create compile commands
- Install gnu-make on that machine which should handle this
- Could be on IBM i
- Could be on your PC
- for Windows you need one of these:
- Windows Subsystem for Linus (WSL)
This is recommended for flexiblity and compatibility - Cygwin
- SSH mount You can mount your IBM i directly to your PC via SSHFS: https://github.com/winfsp/sshfs-win
- Windows Subsystem for Linus (WSL)
- for Linux install
rsync
make
jq
- for Windows you need one of these:
- Install gnu-make on that machine which should handle this
- Your prefered IDE (RDi or VSCode)
- SSH with key based authentication
- Get all your sources to the IFS in the folloging structure:
- {lib}/{SRC-PF}/{member}.{attribute}.{type} ... like:
- prouzalib/qrpglesrc/logger.sqlrpgle.srvpgm
- prouzalib/qsqlsrc/logger.sqltable.file
- prouzalib/qcllesrc/testfile.pf.file
- {lib}/{SRC-PF}/{member}.{attribute}.{type} ... like:
- Download this project
- hooks
- This will set the correct source "last modified timestamp"
- config
- To handle special caracters in file names
Modify makefiles to your own settings
etc/global.mk
- IFS Path
- Target lib (PGM, DB, ...)
- ACTGRP
- LIBLIST
etc/object_list.mk
- Objects to be build
- Dependencies between objects
etc/.makeprofile.mk
- If you want to override some settings for your own environment
- E.g. target lib (your developer library)
- This file should be in the
.gitignore
file, so it's not synchronized with your project team members
- If you want to override some settings for your own environment
The etc/global.cfg
contains all settings for our scripts:
- Target system (IBM i)
- Directory in the IFS
- Git branch names
- etc.
Use full path in the command!
gmake init # to create all necessary directories for build
gmake all --touch --directory=/home/prouza/myproject/build --makefile=/home/prouza/myproject/make/makefile
- Install VSCode extensions
- Open the project directory in vscode
- For Windows:
Add the config line from.vscode/windows.settings.json
to the.vscode/settings.json
file.
This tells vscode in which type of terminal our script needs to run.
See Project settings - Just run the build
- Import the Git Repo as new project
- Add build commands in
External Tools Configurations
- Run the build