Для определения рода слова “махачкала” его необходимо поставить в именительный падеж единственного числа, получается форма: “Махачкала” . Тогда в зависимости от окончания в слове “Махачкала” можно определить род.
Слово “махачкала” употребляется в женском роде (Потому как в начальной форме слова “Махачкала” окончание [а], [я] или [ ] нулевое).Полный морфологический разбор Cуществительного “махачкала” находится по ссылке