--- ./Makefile.inc_orig	2019-10-24 08:38:43 +0000
+++ ./Makefile.inc	2019-10-24 08:49:57 +0000
@@ -51,7 +51,7 @@
   endif
 endif
 
-ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku MidnightBSD MINGW% CYGWIN% MSYS%,$(shell uname)))
+ifneq (,$(filter Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD NetBSD DragonFly SunOS Haiku MidnightBSD MINGW% CYGWIN% MSYS% AIX,$(shell uname)))
 POSIX_ENV = Yes
 else
 POSIX_ENV = No
--- ./lib/Makefile_orig	2019-10-24 08:38:56 +0000
+++ ./lib/Makefile	2019-10-24 09:12:26 +0000
@@ -111,11 +111,23 @@
 	@echo compiling dynamic library $(LIBVER)
   ifeq ($(WINBASED),yes)
 	$(Q)$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll/$@.dll -Wl,--out-implib,dll/$(LIBLZ4_EXP)
+  else ifeq ($(TARGET_OS), AIX)
+	create_exp_file.sh liblz4.a > liblz4.exp
+    ifneq (,$(findstring gcc,$(CC)))
+		$(CC)  $(FLAGS) -shared    liblz4.a -o $@ -Wl,-bE:liblz4.exp -Wl,-bernotok
+    else
+		$(CC)  ${FLAGS} -qmkshrobj liblz4.a -o $@     -bE:liblz4.exp     -bernotok
+    endif
+	/usr/bin/rm -f liblz4.exp
+	/usr/bin/rm -f liblz4.a
   else
 	$(Q)$(CC) $(FLAGS) -shared $^ -fPIC -fvisibility=hidden $(SONAME_FLAGS) -o $@
+  endif
 	@echo creating versioned links
 	$(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT_MAJOR)
 	$(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT)
+  ifeq ($(TARGET_OS), AIX)
+	/usr/bin/ar -q liblz4.a liblz4.$(SHARED_EXT_MAJOR)
   endif
 endif
 
--- ./programs/Makefile_orig	2019-10-24 08:38:34 +0000
+++ ./programs/Makefile	2019-10-24 08:49:57 +0000
@@ -149,9 +149,9 @@
 	@echo Installing binaries
 	@$(INSTALL_DIR) $(DESTDIR)$(bindir)/ $(DESTDIR)$(man1dir)/
 	@$(INSTALL_PROGRAM) lz4$(EXT) $(DESTDIR)$(bindir)/lz4$(EXT)
-	@$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT)
-	@$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT)
-	@$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT)
+	@$(LN_SF) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT)
+	@$(LN_SF) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT)
+	@$(LN_SF) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT)
 	@echo Installing man pages
 	@$(INSTALL_DATA) lz4.1 $(DESTDIR)$(man1dir)/lz4.1
 	@$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4c.1
