# This will create 32-bit executable under 64-bit Linux
#
#
ifndef C_COMPILER
	C_COMPILER   = gcc
endif
ifndef CPP_COMPILER
	CPP_COMPILER = g++
endif
ifndef LINKER
	LINKER = g++ -s
endif
ifndef INCHI_EXECUTABLE_NAME
	INCHI_EXECUTABLE_NAME = inchi-1
endif
 # === executable directory ===
ifndef BIN_DIR
  BIN_DIR = ../../bin/Linux/32bit
endif
INCHI_EXECUTABLE_PATHNAME = $(BIN_DIR)/$(INCHI_EXECUTABLE_NAME)
ifndef P_MAIN
	P_MAIN = ../src
endif
ifndef P_BASE
	P_BASE = ../../../INCHI_BASE/src
endif
#P_INCL = -I$(P_MAIN) -I$(P_BASE)
P_INCL = -I$(P_MAIN) -I$(P_BASE)
C_COMPILER_OPTIONS = $(P_INCL) -m32 -ansi -DCOMPILE_ANSI_ONLY -DTARGET_EXE_STANDALONE -O3 -c
CPP_COMPILER_OPTIONS = $(P_INCL) -m32 -D_LIB -DTARGET_EXE_STANDALONE -ansi -O3 -frtti -c
LINKER_OPTIONS = -m32
INCHI_SRCS = $(P_LIBR)/ichi_bns.c	\
$(P_LIBR)/ichi_io.c	\
$(P_LIBR)/ichican2.c	\
$(P_LIBR)/ichicano.c	\
$(P_LIBR)/ichicans.c	\
$(P_LIBR)/ichierr.c	\
$(P_LIBR)/ichiprt3.c	\
$(P_LIBR)/ichiisot.c	\
$(P_LIBR)/ichimake.c	\
$(P_LIBR)/ichiqueu.c	\
$(P_LIBR)/ichiring.c	\
$(P_LIBR)/ichierr.c	\
$(P_LIBR)/ichimap1.c	\
$(P_LIBR)/ichimap2.c	\
$(P_LIBR)/ichimap4.c	\
$(P_LIBR)/ichimak2.c	\
$(P_LIBR)/ichinorm.c	\
$(P_LIBR)/ichiparm.c	\
$(P_LIBR)/ichiprt1.c	\
$(P_LIBR)/ichiprt2.c	\
$(P_LIBR)/ichirvr1.c	\
$(P_LIBR)/ichirvr2.c	\
$(P_LIBR)/ichirvr3.c	\
$(P_LIBR)/ichirvr4.c	\
$(P_LIBR)/ichirvr5.c	\
$(P_LIBR)/ichirvr6.c	\
$(P_LIBR)/ichirvr7.c	\
$(P_LIBR)/ichisort.c	\
$(P_LIBR)/ichister.c	\
$(P_LIBR)/ichitaut.c	\
$(P_LIBR)/ikey_base26.c	\
$(P_LIBR)/ikey_dll.c	\
$(P_LIBR)/mol_fmt1.c	\
$(P_LIBR)/mol_fmt2.c	\
$(P_LIBR)/mol_fmt3.c	\
$(P_LIBR)/mol_fmt4.c	\
$(P_MAIN)/readinch.c	\
$(P_LIBR)/runichi.c	\
$(P_LIBR)/runichi2.c	\
$(P_LIBR)/runichi3.c	\
$(P_LIBR)/runichi4.c	\
$(P_LIBR)/sha2.c	\
$(P_LIBR)/strutil.c	\
$(P_LIBR)/util.c	\
$(P_MAIN)/dispstru.c	\
$(P_MAIN)/mol2atom.c	\
$(P_MAIN)/ichimain.c
#
INCHI_OBJS = ichi_bns.o	\
ichi_io.o	\
ichicano.o	\
ichican2.o	\
ichicans.o	\
ichierr.o	\
ichiisot.o	\
ichimake.o	\
ichimak2.o	\
ichimap1.o	\
ichimap2.o	\
ichimap4.o	\
ichinorm.o	\
ichiprt1.o	\
ichiprt2.o	\
ichiprt3.o	\
ichiqueu.o	\
ichiring.o	\
ichisort.o	\
ichister.o	\
ichitaut.o	\
ichiparm.o	\
ichiread.o	\
ichirvr1.o	\
ichirvr2.o	\
ichirvr3.o	\
ichirvr4.o	\
ichirvr5.o	\
ichirvr6.o	\
ichirvr7.o	\
ikey_base26.o	\
ikey_dll.o	\
mol_fmt1.o	\
mol_fmt2.o	\
mol_fmt3.o	\
mol_fmt4.o	\
mol2atom.o	\
readinch.o	\
runichi.o	\
runichi2.o	\
runichi3.o	\
runichi4.o	\
sha2.o	\
strutil.o	\
util.o	\
dispstru.o	\
ichimain.o  
$(INCHI_EXECUTABLE_PATHNAME) : $(INCHI_OBJS)
	$(LINKER) $(LINKER_OPTIONS) -o $(INCHI_EXECUTABLE_PATHNAME) $(INCHI_OBJS) -lm
%.o: $(P_BASE)/%.c
	$(C_COMPILER) $(C_COMPILER_OPTIONS) $<
%.o: $(P_MAIN)/%.c
	$(C_COMPILER) $(C_COMPILER_OPTIONS) $<
%.o: $(P_MAIN)/%.cpp
	$(CPP_COMPILER) $(CPP_COMPILER_OPTIONS) $<
