# Makefile for GNU Superopt # Copyright (C) 1991-1995, 2020, 2021 Free Software Foundation, Inc. # # This file is part of GNU Superopt. # # GNU Superopt is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Superopt is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Superopt. If not, see . MAXCOST = 3 EXTRA = -shifts -extracts CC = gcc DBG = -g OPT = -O CFLAGS = $(CPU) $(OPT) $(DBG) ALL_MACHINES = superopt-sparc \ superopt-power \ superopt-powerpc \ superopt-m88000 \ superopt-am29k \ superopt-mc68000 \ superopt-mc68020 \ superopt-i386 \ superopt-i960a \ superopt-i960b \ superopt-pyr \ superopt-alpha \ superopt-sh \ superopt-hppa OBJS = superopt.o SRCS = superopt.c HDRS = run_program.def insn.def goal.def superopt.h version.h longlong.h BINDIR = /usr/local/bin INSTALL = install -c FILES = AUTHORS README COPYING Makefile TODO ChangeLog superopt.c synth.def $(HDRS) VERSION = `sed '/^char/!d;s,char \*version_string = "\([0-9.]*\)";,\1,' < version.h` superopt: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -o superopt $(SRCS) clean: rm -f $(OBJS) superopt $(ALL_MACHINES) *.tmp install: superopt $(INSTALL) superopt $(BINDIR)/superopt all: $(ALL_MACHINES) install-all: all for x in $(ALL_MACHINES); do $(INSTALL) $$x $(BINDIR)/$$x; done run-all: sparc.res power.res powerpc.res m88000.res am29k.res mc68000.res \ mc68020.res i386.res i960a.res i960b.res pyr.res alpha.res sh.res \ hppa.res @echo "Done!" superopt-sparc: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DSPARC -o superopt-sparc $(SRCS) sparc.res: superopt-sparc ./superopt-sparc -all $(EXTRA) -max $(MAXCOST) -as >sparc.tmp 2>&1 mv sparc.tmp sparc.res superopt-power: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DPOWER -o superopt-power $(SRCS) power.res: superopt-power ./superopt-power -all $(EXTRA) -max $(MAXCOST) -as >power.tmp 2>&1 mv power.tmp power.res superopt-powerpc: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DPOWERPC -o superopt-powerpc $(SRCS) powerpc.res: superopt-powerpc ./superopt-powerpc -all $(EXTRA) -max $(MAXCOST) -as >powerpc.tmp 2>&1 mv powerpc.tmp powerpc.res superopt-m88000: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DM88000 -o superopt-m88000 $(SRCS) m88000.res: superopt-m88000 ./superopt-m88000 -all $(EXTRA) -max $(MAXCOST) -as >m88000.tmp 2>&1 mv m88000.tmp m88000.res superopt-am29k: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DAM29K -o superopt-am29k $(SRCS) am29k.res: superopt-am29k ./superopt-am29k -all $(EXTRA) -max $(MAXCOST) -as >am29k.tmp 2>&1 mv am29k.tmp am29k.res superopt-mc68000: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DMC68000 -o superopt-mc68000 $(SRCS) mc68000.res: superopt-mc68000 ./superopt-mc68000 -all $(EXTRA) -max $(MAXCOST) -as >mc68000.tmp 2>&1 mv mc68000.tmp mc68000.res superopt-mc68020: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DMC68020 -o superopt-mc68020 $(SRCS) mc68020.res: superopt-mc68020 ./superopt-mc68020 -all $(EXTRA) -max $(MAXCOST) -as >mc68020.tmp 2>&1 mv mc68020.tmp mc68020.res superopt-i386: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DI386 -o superopt-i386 $(SRCS) i386.res: superopt-i386 ./superopt-i386 -all $(EXTRA) -max $(MAXCOST) -as >i386.tmp 2>&1 mv i386.tmp i386.res superopt-i960a: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DI960 -o superopt-i960a $(SRCS) i960a.res: superopt-i960a ./superopt-i960a -all $(EXTRA) -max $(MAXCOST) -as >i960a.tmp 2>&1 mv i960a.tmp i960a.res superopt-i960b: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DI960B -o superopt-i960b $(SRCS) i960b.res: superopt-i960b ./superopt-i960b -all $(EXTRA) -max $(MAXCOST) -as >i960b.tmp 2>&1 mv i960b.tmp i960b.res superopt-pyr: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DPYR -o superopt-pyr $(SRCS) pyr.res: superopt-pyr ./superopt-pyr -all $(EXTRA) -max $(MAXCOST) -as >pyr.tmp 2>&1 mv pyr.tmp pyr.res superopt-alpha: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DALPHA -o superopt-alpha $(SRCS) alpha.res: superopt-alpha ./superopt-alpha -all $(EXTRA) -max $(MAXCOST) -as >alpha.tmp 2>&1 mv alpha.tmp alpha.res superopt-sh: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DSH -o superopt-sh $(SRCS) sh.res: superopt-sh ./superopt-sh -all $(EXTRA) -max $(MAXCOST) -as >sh.tmp 2>&1 mv sh.tmp sh.res superopt-hppa: $(SRCS) $(HDRS) $(CC) $(CFLAGS) -DHPPA -o superopt-hppa $(SRCS) hppa.res: superopt-hppa ./superopt-hppa -all $(EXTRA) -max $(MAXCOST) -as >hppa.tmp 2>&1 mv hppa.tmp hppa.res tarname = superopt-$(VERSION) dist: mkdir $(tarname) ln $(FILES) $(tarname) tar cf - $(tarname) | gzip --best > $(tarname).tar.gz rm -rf $(tarname) # Makefile ends here