$NetBSD$

--- src/Makefile.orig	Fri Jul 31 12:55:18 1998
+++ src/Makefile	Thu Apr  4 18:37:33 2002
@@ -30,7 +30,7 @@
 O= ../bin/unknown
 D= ../doc
 TRUE=/bin/true
-OS=`../scripts/os`
+OS=`../scripts/os.orig`
 TARGET=`../scripts/target`
 BINDIR=../bin/$(OS)
 CONFIG=../bin/$(OS)/`../scripts/config`
@@ -130,7 +130,7 @@
 
 bsd:
 	@if [ ! -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi
-	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS) -Duint='unsigned int'" all
+	$(MAKE) CC="$(CC)" all
 
 Wall:
 	@if [ ! -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi
@@ -181,8 +181,17 @@
 $O/flushdisk:  flushdisk.c 
 	$(COMPILE) -DMAIN -o $O/flushdisk flushdisk.c
 
+# Work around gcc codegen bug that results in infinite loop compiling mhz.c -O
 $O/mhz: mhz.c timing.h stats.h bench.h $O/lmbench.a
+ifeq ($(MACHINE_ARCH),arm32)
+	$(CC) $(SYS5) $(CF) $(CPPFLAGS) $(LDFLAGS) -o $O/mhz mhz.c $O/lmbench.a $(LDLIBS) -lm
+else
+ifeq ($(MACHINE_ARCH),arm)
+	$(CC) $(SYS5) $(CF) $(CPPFLAGS) $(LDFLAGS) -o $O/mhz mhz.c $O/lmbench.a $(LDLIBS) -lm
+else
 	$(COMPILE) -o $O/mhz mhz.c $O/lmbench.a $(LDLIBS) -lm
+endif
+endif 
 
 $O/lat_ctx: lat_ctx.c timing.h stats.h bench.h $O/lmbench.a
 	$(COMPILE) -o $O/lat_ctx lat_ctx.c $O/lmbench.a $(LDLIBS)
