Fatti :
A.- S._ è stato membro del consiglio di amministrazione della M._ & B._ SA, con diritto di firma collettiva a due, dall'8 giugno 1982 sino al fallimento decretato il 10 settembre 1993. Era inoltre azionista minoritario della società fallita.
Con giudizio 4 luglio 1995 il Tribunale delle assicurazioni del Cantone Ticino aveva respinto la petizione inoltrata dalla Cassa cantonale di compensazione contro S._ per il mancato pagamento dei contributi paritetici dovuti dalla società fallita per l'anno 1993, mentre l'aveva accolta nei confronti degli altri due amministratori in solido.
A seguito di un ricorso di diritto amministrativo interposto da B._ (presidente del consiglio di amministrazione) e M._ (membro dello stesso), il Tribunale federale delle assicurazioni con sentenza 26 marzo 1997 aveva annullato tale giudizio e rinviato l'incarto all'istanza inferiore per complemento d'istruttoria, ritenuto che vi era stata una violazione del diritto di essere sentito dei ricorrenti.
B.- Completata l'istruttoria, con pronunzia 3 giugno 1998 l'autorità giudiziaria cantonale ha riformato il precedente giudizio, estendendo l'obbligo di risarcire alla Cassa fr. 122 755. 80 anche a S._, con vincolo di solidarietà con B._ e M._.
C.- Il 31 agosto 1998 S._ è insorto avanti questa Corte con ricorso di diritto amministrativo. Chiede l'annullamento del giudizio cantonale 3 giugno 1998 e il rinvio della causa all'istanza inferiore perché completi l'istruttoria e statuisca di nuovo. In via subordinata, postula che venga respinta la petizione 22 agosto 1994 contro di lui, mentre sia accolta nei confronti di B._ e M._. Dei motivi invocati nell'impugnativa si dirà, per quanto occorra, nei considerandi di diritto.
In sede di risposta B._ ha chiesto la reiezione del gravame e la conferma della pronunzia cantonale, mentre la Cassa, M._ e l'Ufficio federale delle assicurazioni sociali hanno rinunciato a determinarsi. Con atto 12 febbraio 1999 il ricorrente ha chiesto la facoltà di replicare.

Diritto :
1.- In via preliminare va esaminata l'istanza di replica di S._, ritenuto che a suo dire la controparte nella memoria di risposta tenta di "stravolgere i fatti e fuorviare dal tema su cui è incentrato il ricorso".
a) Per l'art. 110 cpv. 4 OG un ulteriore scambio di scritti ha luogo solo eccezionalmente. Ragioni di economia processuale impongono rigore nella concessione del diritto alla replica. L'istanza deve indicare i motivi rilevanti e nuovi emersi dalle risposte delle controparti interessate. Con nuovi vanno intesi quelli non prevedibili al momento dell'introduzione del ricorso, ritenuto che un ulteriore scambio di allegati non è ammissibile per sanare omissioni riconducibili a carenze di natura procedurale. L'esigenza della replica discende dal diritto di essere sentito dedotto dall'<ref-law> : alla parte va concessa la facoltà di replicare se, nella risposta, siano stati resi noti per la prima volta elementi rilevanti (nuovi fatti, mezzi di prova, motivi) e non già ipotizzabili con l'atto introduttivo, sui quali il ricorrente non abbia ancora avuto la facoltà di esprimersi (<ref-ruling> consid. 1c, 114 Ia 314 consid. 4b, 111 Ia 3 con rinvii; Rhinow/Koller/Kiss, Öffentliches Prozessrecht und Justizverfassungsrecht des Bundes, Basilea 1996, n. 847, 1345 e 1875).
Per essere ammesso a replicare, il richiedente deve indicare espressamente e con chiarezza tutti gli elementi rilevanti che legittimano il diritto di replica, ritenuto che allegazioni generiche sono inidonee a sostanziare la domanda. Occorre contrastare dal profilo procedurale che si manifestino attitudini defatigatorie, volte unicamente a procrastinare la definizione della vicenda giudiziaria, producendo atti sostanzialmente superflui (Gygi, Bundesverwaltungsrechtspflege, 2a ed., pag. 194).
b) Ora, la risposta del cointeressato B._ del 13 gennaio 1999 non contiene elementi rilevanti che già non fossero noti alle parti nella pregressa disputa davanti all'autorità giudiziaria cantonale. Essa si limita ad evidenziare quanto già risulta dall'istruttoria cantonale, senza apportare qualsivoglia innovazione nell'impostazione fattuale e in diritto, riferendosi unicamente ad elementi noti tanto alle parti interessate quanto al Tribunale cantonale delle assicurazioni.
S._ omette di indicare con chiarezza su quali elementi nuovi e rilevanti, emersi solo in sede di risposta, intenda fondare la sua domanda. L'affermazione apodittica, secondo cui la risposta di B._ costituirebbe "il tentativo di stravolgere i fatti e fuorviare dal tema su cui è incentrato il ricorso", è manifestamente inidonea a sostanziare un'istanza di replica nella procedura di ricorso di diritto amministrativo al Tribunale federale delle assicurazioni.
Ne consegue la reiezione dell'istanza di replica del 12 febbraio 1999.
2.- S._ ravvisa, dal profilo formale, una grave violazione del suo diritto di essere sentito nell'ambito del complemento istruttorio eseguito dal Tribunale cantonale in seguito alla decisione di rinvio di questa Corte, nella misura in cui non sono stati assunti i mezzi di prova offerti il 28 gennaio e 24 marzo 1998.
a) Per costante giurisprudenza, dal diritto di essere sentito deve in particolare essere dedotto il diritto per l'interessato di esprimersi prima della resa di una decisione sfavorevole nei suoi confronti, quello di fornire prove circa i fatti suscettibili di influire sul provvedimento, quello di poter prendere visione dell'incarto, quello di partecipare all'assunzione delle prove, di prenderne conoscenza e di determinarsi al riguardo (<ref-ruling> consid. 3a, 242 consid. 2, 124 II 137 consid. 2b, 124 V 181 consid. 1a e sentenze ivi citate).
Inoltre, il diritto di essere sentito va riconosciuto e rispettato laddove un'autorità intenda fondare la propria decisione su una norma o un motivo giuridico non evocato nella procedura anteriore e non addotto da alcuna delle parti interessate, le quali non ne potevano ravvisare la rilevanza nella fattispecie (<ref-ruling> consid. 3c, 123 I 69, 116 V 185 consid. 1a e i riferimenti ivi citati).
Se invece gli accertamenti svolti d'ufficio permettono all'amministrazione o al giudice, che si sono fondati su un apprezzamento diligente delle prove, di giungere alla convinzione che certi fatti presentino una verosimiglianza preponderante, e che ulteriori misure probatorie non potrebbero modificare questo apprezzamento, è superfluo assumere altre prove (apprezzamento anticipato delle prove; Kölz/Häner, Verwaltungsverfahren und Verwaltungsrechtspflege des Bundes, 2a ed., pag. 39 no. 111 e pag. 117 no. 320; Gygi, op. cit. , pag. 274; Kummer, Grundriss des Zivilprozessrechts, 4a ed., pag. 135; Scartazzini, Les rapports de causalité dans le droit suisse de la sécurité sociale, tesi Ginevra 1991, pag. 63; cfr. anche <ref-ruling> consid. 4a, 122 III 223 consid. 3c, 120 Ib 229 consid. 2b, 119 V 344 consid. 3c e riferimenti). In tal caso non sussiste una violazione del diritto di essere sentito conformemente all'<ref-law> (<ref-ruling> consid. 4b, 122 V 162 consid. 1d e sentenza ivi citata).
b) Va pure ricordato che nell'ambito dell'accertamento dei fatti e della valutazione delle prove il giudice di merito dispone di un ampio potere di apprezzamento. Per censurare un asserito accertamento arbitrario dei fatti o un'asserita valutazione arbitraria delle prove non è sufficiente che il ricorrente critichi semplicemente la decisione impugnata o che contrapponga a quest'ultima una propria valutazione, per quanto essa sia sostenibile o addirittura preferibile; egli deve bensì dimostrare per quale motivo la valutazione delle prove da lui criticata sarebbe manifestamente insostenibile, si trovi in chiaro contrasto con la situazione di fatto, si fondi su una svista manifesta o contraddica in modo urtante il sentimento della giustizia e dell'equità (<ref-ruling> consid. 4a, 122 I 66 consid. 3a, 121 I 114 consid. 3a).
c) Il ricorrente censura in primo luogo che i giudici cantonali non hanno motivato il rifiuto delle prove offerte.
A torto. Dai considerandi 2.7. e 2.8. emerge che essi si sono espressi in termini comprensibili sugli elementi messi a fondamento del loro giudizio, prescindendo dal procedere alla puntuale motivazione dei mezzi di prova superflui ed evitando in tal modo uno sterile esercizio giurisdizionale. Dall'argomentazione sviluppata risulta in modo sufficiente che si è tenuto conto nel giudizio degli elementi fattuali rilevanti ai fini dell'<ref-law>.
d) Nel caso di specie, le argomentazioni sollevate dal ricorrente - secondo cui i vari costituti testimoniali avrebbero potuto dimostrare che egli non aveva alcun potere decisionale nella fallita M._ & B._ SA e nemmeno accesso alle informazioni - risultano inconferenti. Infatti i poteri e le incombenze di un membro del consiglio di amministrazione di una società anonima, per di più azionista minoritario con un apprezzabile pacchetto azionario (300 azioni su 1300), sono quelli definiti dalla legge che, come tali, non sono suscettibili di interpretazione a dipendenza dell'opinione che possono aver maturato una segretaria della fallita (Z._) e un dipendente della F._ SA che si era occupato della revisione della ditta dal 1980 al 1985 (G._), peraltro entrambi sentiti come testi davanti al Pretore di B._, alla presenza di S._ e del suo patrocinatore.
Per quanto riguarda invece l'audizione dei signori J._ della F._ SA, L._ della Cassa malati OCST e L._, direttore della già SBS, richiesta dal ricorrente con atto 28 gennaio 1998, a giusta ragione i primi giudici non hanno ritenuto opportuno assumerli perché ininfluenti ai fini del giudizio, atteso che il materiale probatorio agli atti già consentiva un accertamento oggettivo dei fatti. Non si vede infatti motivo per cui si debba sentire un direttore di banca quando agli atti risulta la lettera di concessione, in data 26 marzo 1993, di un limite di credito in conto corrente per fr. 250 000. - a favore di B._ e/o S._ e/o M._ nonché l'accredito alla stessa data di tale importo alla M._ & B._ SA. Né si comprende perché mai si dovrebbe sentire i signori J._ e L._ che - a mente del ricorrente - non avrebbero mai discusso con lui, quando decisivo è determinare se S._ abbia ossequiato i doveri che incombono a un membro del consiglio di amministrazione.
Il ricorrente censura inoltre che non si sia fatto capo all'interrogatorio formale dei cointeressati B._ e M._ per conoscere la destinazione della somma di fr. 250 000. - oggetto dell'apertura di credito. L'obiezione non è di rilievo. Dall'estratto conto sopra citato emerge infatti in tutta evidenza che tale importo è stato accreditato lo stesso giorno sul conto corrente della fallita e non è servito al pagamento dei contributi alle assicurazioni sociali, ritenuto che è poi stato interamente rimborsato, interessi passivi compresi, nel periodo tra il 6 aprile e il 4 agosto 1993.
Quanto all'acquisizione del voluminoso incarto fallimentare presso l'Ufficio esecuzione e fallimenti di B._, va ricordato al ricorrente che non può essere richiesta in termini generici l'edizione di documentazione che era suo preciso dovere indicare con esattezza, dopo aver proceduto come gli è consentito dal diritto di consultazione dedotto dall'<ref-law>. Il minimo che si richiede a un membro del consiglio di amministrazione è che proceda in modo selettivo e mirato all'offerta e produzione dei mezzi di prova rilevanti per il giudizio. È bene ricordare a S._ che non incombe ai giudici cantonali supplire a carenze istruttorie di una parte, rispettivamente del suo patrocinatore.
Visto quanto precede, si deve concludere che non sussiste in concreto alcuna violazione del diritto di essere sentito da parte dei primi giudici.
3.- a) Qualora la lite non verta sull'assegnazione o il rifiuto di prestazioni assicurative, il Tribunale federale delle assicurazioni deve limitarsi ad esaminare se il giudizio di primo grado abbia violato il diritto federale, compreso l'eccesso o l'abuso del potere d'apprezzamento, oppure se l'accertamento dei fatti sia manifestamente inesatto, incompleto od avvenuto violando norme essenziali di procedura (art. 132 OG in relazione con gli art. 104 lett.
a e b e 105 cpv. 2 OG).
b) Il Tribunale federale delle assicurazioni può statuire sulla pretesa di risarcimento danni soltanto in quanto essa si riferisca a contributi di diritto federale. Nella misura in cui litigiosi siano in concreto danni addebitabili al mancato pagamento di contributi di diritto cantonale, il ricorso di diritto amministrativo è irricevibile (v. <ref-ruling> consid. 1b e sentenze ivi citate).
4.- Nella fattispecie è accertato e incontestato che B._ e M._ sono responsabili ai sensi dell'<ref-law> del mancato pagamento dei contributi paritetici della fallita ditta M._ & B._ SA per il 1993, pari a fr. 122 755. 80.
Resta quindi da esaminare se sussista una responsabilità pure di S._ - in solido con i due predetti amministratori - nella sua qualità di membro del consiglio di amministrazione dal 1982 al 1993, oltre ad essere stato azionista di minoranza della fallita.
a) Nei considerandi del querelato giudizio, la Corte cantonale ha già correttamente ricordato i requisiti disciplinanti, ai sensi dell'<ref-law>, il risarcimento dei danni causati dal datore di lavoro nei confronti della cassa per aver omesso di pagare i contributi di legge, intenzionalmente o per negligenza grave, precisando in particolare come, secondo la giurisprudenza, nella nozione di datore di lavoro siano compresi anche gli organi di una società anonima. A questa esposizione può essere fatto riferimento e prestata adesione.
b) S._ sostiene di non aver mai avuto alcun potere nei settori decisivi per l'attività finanziaria della fallita e, in particolare, in quello dei pagamenti dei contributi sociali, atteso che non ha mai avuto accesso alle informazioni, né mai gli è stato riconosciuto alcun potere, né tanto meno ha saputo delle difficoltà della ditta nel versamento degli oneri sociali.
L'interessato sembra misconoscere la portata dell'<ref-law>. In sostanza, è dell'avviso che costituisca esimente il fatto di non aver influito e nemmeno partecipato alla gestione della ditta. A torto. Si tratta in tutta evidenza di circostanze che non sono di rilievo, dal momento che, accettando a partire dal 1982 il mandato di membro del consiglio di amministrazione, egli si era assunto tutti gli oneri che da tale funzione derivano, considerato che era pure azionista, anche se di minoranza, della fallita.
Va ricordato al ricorrente che gli incombeva, quale membro del consiglio di amministrazione di una società anonima, di controllare personalmente che venissero pagati i contributi alla Cassa, peraltro già prelevati dai salari dei dipendenti in conformità dell'<ref-law>. Egli non può liberarsi da questa responsabilità semplicemente sostenendo, come in concreto, d'essere stato solo il responsabile tecnico della ditta, o asserendo che non ha mai potuto accedere alla corrispondenza, o ancora affermando che era entrato nel consiglio di amministrazione solo per ossequiare le direttive imposte alla ditta dalla legge sugli appalti. Nulla infatti gli impediva di richiedere qualsivoglia informazione o documentazione che gli necessitasse per far fronte ai doveri di un membro del consiglio di amministrazione. Se, come sembra voler sostenere, taluno avesse inteso mantenerlo all'oscuro dell'esatta situazione, a S._ sarebbe comunque rimasto il diritto di dare le dimissioni, limitando in tal modo la sua responsabilità dal profilo temporale. Dalla documentazione agli atti risulta per contro come egli fosse a conoscenza - contrariamente a quanto asserito nel gravame - almeno dal 24 giugno 1991, quando ha sottoscritto il rapporto di gestione riferito al 1990, che la società aveva concrete e preoccupanti difficoltà finanziarie. La situazione è poi peggiorata, come risulta dal bilancio al 31 dicembre 1991, pure debitamente sottoscritto da S._, attestante perdite per complessivi fr. 292 820. 39 (= fr. 271 881. 29 perdita riportata + fr. 20 939. 10 perdita d'esercizio). Non può pertanto essere seguito il ricorrente quando sostiene che il fallimento sarebbe stato "fulmineo".
Il 25 marzo 1993, cinque mesi e mezzo prima del fallimento della società, S._ ha prelevato dal suo conto corrente presso la Banca X._ fr. 50 000. - e ne ha versati fr. 48 000. - alla M._ & B._ SA per "permettere di far fronte alle più impellenti urgenze". Conoscendo la precarietà della situazione finanziaria della società, era suo preciso dovere - peraltro anche nel suo stesso interesse - che siffatto versamento fosse destinato alle assicurazioni sociali.
A nulla giova poi il suo argomento, secondo cui sarebbe stato obbligato da B._ e M._, con "prepotenza" e "di punto in bianco", a sottoscrivere il 26 marzo 1993 un vaglia cambiario con il relativo bollettino di prelevamento di fr. 250 000. -, senza saperne l'uso che ne sarebbe stato fatto. Come già accennato al consid. 2d, vi è certezza che l'importo prelevato non è servito al pagamento dei contributi alle assicurazioni sociali, essendo stato rimborsato nella sua interezza, interessi compresi, entro il 4 agosto 1993, ossia cinque settimane prima della dichiarazione di fallimento. Da questa operazione a S._ non è derivato alcun pregiudizio.
Accettando, come già detto in precedenza, il mandato di membro del consiglio di amministrazione, il ricorrente si era assunto tutti gli oneri che da tale funzione derivano.
Ora, dagli atti non risulta, e nemmeno viene preteso, che il consiglio di amministrazione abbia disciplinato in termini cogenti, in concreto, i compiti dei vari membri. La responsabilità per il corretto adempimento degli oneri assicurativi nonché la diligenza necessaria alla corretta gestione degli affari sociali non incombeva quindi solo al presidente del consiglio di amministrazione, B._, o a M._, bensì all'intero organo esecutivo, trattandosi di attribuzioni inalienabili nel senso dell'art. 716a cpv. 1 cifra 5 CO. Si noti in questo contesto che l'<ref-law> non è applicabile nell'ambito della responsabilità ai sensi dell'<ref-law> per giustificare una riduzione del risarcimento in relazione con la gravità dell'errore commesso dal responsabile (VSI 1996 pag. 306).
In sostanza, il disinteresse mostrato da S._, malgrado il suo impegno finanziario, ne determina la responsabilità secondo l'<ref-law>. In altri termini, il ricorrente ha omesso di compiere quanto doveva apparire importante a qualsiasi persona ragionevole nell'ambito delle incombenze riconducibili alla funzione di membro del consiglio di amministrazione di una società anonima. Egli non può elevare a esimente gli argomenti sostenuti nel ricorso, ritenuto che la sua posizione formale, a prescindere dalla sua qualità di azionista, gli imponeva di verificare se i contributi sociali fossero pagati. Siffatta omissione costituisce una grave violazione del suo dovere di diligenza (cfr. RCC 1992 pag. 269). Del resto va ricordato all'interessato che ai sensi della giurisprudenza si deve ammettere una negligenza grave del datore di lavoro quando questi abbia trascurato di fare quanto doveva apparire importante a qualsiasi persona ragionevole posta nella stessa situazione (cfr. <ref-ruling> consid. 4).
5.- Non trattandosi in concreto di una lite avente per oggetto l'assegnazione o il rifiuto di prestazioni assicurative, la procedura non è gratuita (art. 134 OG e contrario). Le spese processuali, che seguono la soccombenza, devono pertanto essere poste a carico del ricorrente, il quale verserà altresì al cointeressato B._, assistito da un legale, fr. 2500. - a titolo di ripetibili (art. 156 e 159 in relazione con l'art. 135 OG; SVR 1995 AHV no. 70 pag. 214 consid. 6b).

Per questi motivi, il Tribunale federale delle assicurazioni
pronuncia :
I.In quanto ricevibile, il ricorso di diritto amministrativo è respinto.
II.Le spese giudiziarie, fissate a fr. 6000. -, sono poste a carico del ricorrente e saranno compensate con le garanzie prestate da quest'ultimo.
III. Il ricorrente verserà al cointeressato B._ la somma di fr. 2500. - a titolo di ripetibili per la procedura federale.
IV.La presente sentenza sarà intimata alle parti, al Tribunale cantonale delle assicurazioni, Lugano, all'Ufficio federale delle assicurazioni sociali, nonché a B._ e M._ in qualità di cointeressati.