Blog
This is a private homepage... ;)
Let Make make things done
Hello,
I was thinking about this blog post since some time now, but I never wrote it because I thought it will be lame. Many of us are using Make but most of us don't know the power for using it every day for easy tasks... I use Make in nearly all of my projects, and it is soo helpful to me.
Now let's Make make things done...!
Sooooo, what is Make?
From the GNU Make website: "GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program."
As you can read, Make is built for software developers to build binary files from their code and for this Make is very useful especially when having many source files for building the final piece of software...
But!!! Make is soo powerful to just execute very easy but boring tasks with just one command. So let's say you have to execute a few commands every time you want to execute some repeating tasks in your project, just use Make.
Make is based on makefiles, so you need to create a file named Makefile in the root of your project. You can have makefiles in subdirectories of your project tree, but I will not cover this here because this post is about the most simple usage of Make.
A very simple Makefile is shown below. It creates a file when you in your current working directory just run "make" or "make all". When you then run "make clean" the file will be deleted.
Our first Makefile:
all:touch fileclean:rm -f file
Isn't it easy?
It is!
A more useful example:
Let's say, you have three commands you need to execute to make a backup of three hosts you are responsible for. Just create a directory where you want to store your "backup Makefile". Just name it what you want. "cd" to that directory and create a Makefile with the content below. When you now run "make" or "make backup" in the new directory, three "rsync" commands will be executed... This is nice because you can define very complex tasks, and they are documented in the Makefile and not only in the shell history. To be honest this example is really very lame, but it shows the power of make for everyday tasks in everyday projects.
backup:rsync -av host1.example.com:/ /backup/host1/rsync -av host2.example.com:/ /backup/host2/rsync -av host3.example.com:/ /backup/host2/
At the end...
Make is soo much more powerful but as I said before I will not cover this here. The most well known project which is being build using Make is the Linux Kernel but even other very important projects like OpenWrt are beeing built using Make. I mention these two projects because they are really using Make to the edge. Since a very long time most C code based projects on GNU (gcc) based operating systems are using Make for compiling their code to executables or libraries.
I use Make every day because I have repeating tasks consisting of more than one command in all of my projects and Make makes it easy for me to handle this. When you have some shell completion and are writing "make " and then hitting the "tab" key in your project root you will also have all "make commands" available you defined in the Makefile.
I am very happy that we can use so many powerful tools for free when using a free and open operating system like GNU/Linux!
I hope this helps you and I wish you a lot of fun when you let Make make your jobs done... :)
Have fun!
My Artix Linux / Ableton Live workspace!
Hello friends,
sorry, I wanted to write this post earlier but a bad Covid-19 infection kicked me out of life for some weeks. I am healthy since some days but I still have many problems. I wish no one to get infected by Covid-19. My father was infected too but he didn't had so many problems that I had. So, Covid-19 != Covid-19 for everyone.
A photo of my current workspace:
So, I wrote in my last post that I will report about my Wine "use case". Here it is and as you could read before, it is about music production using Ableton Live on Linux.
Windows? Why not?

Since I am using some applications that are only available for Windows operating systems I decided to use Wine instead of dual booting. I do 100% of my work on Linux based systems and it's annoying to reboot every time I need or want to run some .exe files. Using Wine many applications and games are working as expected without any errors. The only thing I did using "winecfg", to make it comfortable for me to use, was to map some Windows folders to some folders in my $HOME directory for making it easy to share files among applications and set my OS version to Windows 10.
I will post more information about my use case in some days... ;)
Ableton Live 11 Standard runs without any problems on Linux using Wine. I tried the trial before buying but couldn't find anything that is not working properly. I will mostly use it as a MIDI sequencer and for audio recording but even software instruments and effects are running like a charme - even some VST plugins are working properly.
Below you can see how I am accessing "drive C:\" from my desktop... My magic symlink... :D
hanez@jupiter ~ # cd C:\\hanez@jupiter C:\ # pwd/home/hanez/C:\hanez@jupiter C:\ # echo "?"?hanez@jupiter C:\ # cdhanez@jupiter ~ # ls -l C:\\lrwxrwxrwx 1 hanez hanez 26 3. Mai 20:06 'C:\' -> /home/hanez/.wine/drive_c/hanez@jupiter ~ # echo ":)":)hanez@jupiter ~ #
BTW: Many years ago I already played games using Wine. Here is a screenshot of Command and Conquer Red Alert 2.
[UPDATE]: I needed to install some fonts to make some VST plugins to work. I used winetricks for that and just installed all available fonts but I think it should be enough to only install "corefonts", but I don't know.
PocketGo - Gaming in the pocket...
I want to show you a device I got last year. I never played a lot with it but now I had a sleepless night and played a lot. It really is a lot of fun.
It is a PocketGo game emulator and now I have all my favorite games right in my pocket to play everywhere... ;)
I don't know if you can buy it somewhere nowadays (I can not find any offer) because there is a new version available. But I believe the new version is as much fun as this device is.
Because I buyed it for travelling I also buyed the wonderful case for it you can see on the left. In this case is enough space for a USB charger and some cables.
Since I like these old retro games very much, this was exactly the right purchase.
There are a lot of retro handhelds available on the net. I don't know which one is the best one but I just payed about EUR 35.00 and that was a very good price for this quality.
Too sad that I could now find any useful links for you in the net. You need to search for "PocketGo" to find more information. There are many good sites out there, so you will find all the things you need to know. Mostly sites with newer devices are available, as I said before... these will make you have fun too and they are not much more expensive.
Specification:
- CPU: Allwinner F1C100S
- RAM: 32MB
- Screen: 2.4" IPS 320x240 (tempered glass)
- SDCard: supported up to 128GB for game storage (no games preloaded)
- Port: TV-out, Headphone Jack, MicroSD card slot
- Battery: 1000mAh
Update: Uh, I found this device for a price of about USD 35.00 available on the net right now but I do not want to link to some online shops. If you search a bit, you will find it! Just search for "PocketGo 1"... ;). Btw. this site has a lot of more information.
Have fun! :)
The Next Challenge
I found this chess computer from 1988 at my parents home some days ago. Since the Corona virus I need some things to do and knew about this device was at some place. It is a FIDELITY DESIGNER 2000 DISPLAY which is a really cool device. It was not used for about 25 years but it still works. Now I can start playing chess. In my youth I played a lot with my brother so I know how to do but I believe I have to learn a lot.
The challenge is to beat this device... :) Now winter is coming and I will have a lot of time to go on. I will report my results here - next year!
As an IT engineer I am always impressed about what great devices were developed so long time ago.
Some specs:
- CPU: 6502
- Type: 8 Bit
- Speed: 3 MHz
- RAM: 8 KB
- ROM: 32 KB




