Program make yang disertakan pada beberapa sistem lain mendukung sejumlah fitur yang tidak diimplementasikan dalam GNU make. Meskipun demikian, standar POSIX.2 (IEEE Standard 1003.2-1992) yang menentukan spesifikasi make tidak mewajibkan satu pun dari fitur-fitur tersebut.
Target dengan bentuk ‘file((entry))’ mewakili anggota dari file arsip (archive) file. Namun, anggota tersebut tidak dipilih berdasarkan namanya, melainkan berdasarkan apakah file itu merupakan file objek yang mendefinisikan simbol linker entry.
Fitur ini tidak dimasukkan ke GNU make karena memberikan pengetahuan tentang format internal tabel simbol file arsip kepada make, hal itu akan merusak modularitas. Lihat Memperbarui direktori simbol arsip.
Sufiks (yang digunakan dalam aturan sufiks) yang diakhiri dengan karakter ‘~’ memiliki arti khusus bagi make System V. Sufiks tersebut menunjuk ke file SCCS yang bersesuaian dengan file yang diperoleh tanpa ‘~’. Sebagai contoh, aturan sufiks ‘.c~.o’ menghasilkan file n.o dari file SCCS s.n.c. Untuk mencakup semua kemungkinan, dibutuhkan satu rangkaian lengkap aturan sufiks semacam ini. Lihat Aturan sufiks gaya lama.
Dalam GNU make, seluruh rangkaian kasus ini ditangani oleh dua aturan pola untuk ekstraksi dari SCCS, dikombinasikan dengan fitur umum berupa rantai aturan (rule chaining). Lihat Rantai aturan implisit.
Pada make System V dan 4.3 BSD, file yang ditemukan oleh pencarian VPATH (lihat Mencari prasyarat dari direktori) mengalami perubahan nama di dalam resep (recipe). Menurut kami, jauh lebih bersih untuk selalu menggunakan variabel otomatis, sehingga fitur ini pun menjadi tidak diperlukan.
Pada sebagian make Unix, variabel otomatis $* yang muncul dalam prasyarat sebuah aturan memiliki “fitur” yang luar biasa aneh, yaitu diekspansi menjadi nama lengkap target dari aturan itu sendiri. Kami sama sekali tidak dapat membayangkan apa yang ada di benak para pengembang make Unix sehingga melakukan hal ini; ini sangat tidak konsisten dengan definisi normal $*.
Pada sebagian make Unix, pencarian aturan implisit (lihat Menggunakan aturan implisit) tampaknya dilakukan untuk semua target, bukan hanya target yang tidak memiliki resep. Ini berarti Anda dapat menulis:
foo.o:
cc -c foo.c
Maka make Unix akan menyimpulkan bahwa foo.o bergantung pada foo.c.
Kami menganggap penggunaan semacam ini rusak. Sifat prasyarat dalam make (setidaknya pada GNU make) didefinisikan dengan jelas, dan melakukan hal semacam ini sama sekali tidak sesuai dengan model tersebut.
GNU make tidak menyertakan aturan implisit bawaan apa pun untuk mengompilasi atau melakukan praproses program EFL. Jika ada yang memberi tahu kami bahwa mereka menggunakan EFL, kami akan dengan senang hati menambahkan aturan tersebut.
Tampaknya pada make SVR4, aturan sufiks dapat ditentukan tanpa resep, dan itu diperlakukan seolah-olah memiliki resep kosong (lihat Menggunakan resep kosong). Sebagai contoh, jika Anda menulis:
.c.a:
Anda dapat menimpa (override) aturan sufiks bawaan .c.a.
Menurut kami, lebih bersih jika aturan tanpa resep selalu sekadar menambah daftar prasyarat target. Contoh di atas dapat dengan mudah ditulis ulang untuk mendapatkan perilaku yang diinginkan pada GNU make:
.c.a: ;
Beberapa versi make memanggil shell dengan flag ‘-e’, kecuali jika ‘-k’ ditentukan (lihat Menguji kompilasi program). Flag ‘-e’ menginstruksikan shell agar segera keluar begitu salah satu program yang dijalankannya mengembalikan status bukan nol. Menurut kami, lebih bersih untuk menulis setiap baris resep agar berdiri sendiri, sehingga tidak memerlukan penanganan khusus semacam ini.