--- Makefile.orig	2019-09-05 23:36:27.313308532 +0300
+++ Makefile	2019-09-06 00:19:45.446010156 +0300
@@ -1,3 +1,19 @@
+export TOPDIR ?= $(CURDIR)/../..
+include $(TOPDIR)/global_config
+
+_ARCH := $(shell uname -m)
+export _ARCH
+
+ifeq ($(_ARCH), i686)
+ASMARCH := elf32
+endif
+
+ifeq ($(_ARCH), x86_64)
+ASMARCH := elf64
+endif
+
+
+
 BUILD=build
 DESTDIR=/
 PREFIX=usr/local
@@ -92,7 +108,7 @@
 	mc_ssse3.obj \
 	msac.obj)
 $(NASM_BLD)/%.obj: src/x86/%.asm
-	$(NASM) -f elf64 \
+	$(NASM) -f $(ASMARCH) \
 		-I src/ -I $(BUILD)/ -MQ $@ -MF $@.ndep \
 		$< -o $@
 
@@ -170,8 +186,14 @@
 	echo >> $@ "#define ARCH_ARM 0"
 	echo >> $@ "#define ARCH_PPC64LE 0"
 	echo >> $@ "#define ARCH_X86 1"
+ifeq ($(_ARCH), x86_64)
 	echo >> $@ "#define ARCH_X86_32 0"
 	echo >> $@ "#define ARCH_X86_64 1"
+endif
+ifeq ($(_ARCH), i686)
+	echo >> $@ "#define ARCH_X86_32 1"
+	echo >> $@ "#define ARCH_X86_64 0"
+endif
 	echo >> $@ "#define CONFIG_16BPC 1"
 	echo >> $@ "#define CONFIG_8BPC 1"
 	echo >> $@ "#define CONFIG_LOG 1"
@@ -182,10 +204,20 @@
 	echo >> $@ "#define STACK_ALIGNMENT 32"
 
 $(BUILD)/config.asm:
+ifeq ($(_ARCH), x86_64)
 	echo  > $@ "%define ARCH_X86_32 0"
 	echo >> $@ "%define ARCH_X86_64 1"
 	echo >> $@ "%define PIC 1"
 	echo >> $@ "%define STACK_ALIGNMENT 32"
+endif
+
+ifeq ($(_ARCH), i686)
+	echo  > $@ "%define ARCH_X86_32 1"
+	echo >> $@ "%define ARCH_X86_64 0"
+	echo >> $@ "%define PIC 1"
+	echo >> $@ "%define STACK_ALIGNMENT 32"
+endif
+
 
 $(BUILD)/include/vcs_version.h:
 	mkdir -p $(BUILD)/include
@@ -293,7 +325,7 @@
 $(CHKASM_BIT16)/%.o: $(TESTS_CHKASM)/%.c
 	$(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
 $(TESTS_CHKASM_BLD)/x86/%.obj: $(TESTS_CHKASM)/x86/%.asm
-	@$(NASM) -f elf64 \
+	@$(NASM) -f $(ASMARCH) \
 		-I src/ -I $(BUILD)/ -MQ $@ -MF $@.ndep \
 		$< -o $@
 
