perf: Use tools/Makefrag for building perf
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 5 May 2016 15:38:18 +0000 (11:38 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jun 2016 15:47:39 +0000 (11:47 -0400)
This allows us to cd into tools/profile/perf and build it directly.
Previously, it only was buildable from the top-level Makefile and only when
building all apps.

You can still build it from the top-level (apps-install).

Also, the usage of CFLAGS_USER is a little sketchy.  Those cflags were
originally for parlib and related libraries.  We use them for tests, though
that might be unnecessary.  Apps should use their own cflags.  If there is
some critical flag that every userspace app should have, then it should be
set in the toolchain in gcc (e.g. -mno-red-zone, RIP).

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/profile/perf/Makefile

index 361227c..0de3718 100644 (file)
@@ -1,14 +1,4 @@
-# Do not:
-# o  use make's built-in rules and variables
-#    (this increases performance and avoids hard-to-debug behaviour);
-# o  print "Entering directory ...";
-MAKEFLAGS += -rR --no-print-directory
-
-# Overrides
-BUILDDIR ?= $(shell pwd)
-AKAROS_ROOT ?= $(BUILDDIR)/../../..
-MAKE_JOBS ?= 4
-KFS_ROOT ?= $(AKAROS_ROOT)/kern/kfs
+include ../../Makefrag
 
 SOURCES = perf.c perfconv.c xlib.c perf_core.c akaros.c
 
@@ -22,17 +12,20 @@ all: perf
 
 PHONY += perf
 perf: $(SOURCES)
-       @$(XCC) $(ROS_CFLAGS) $(ROS_LDFLAGS) -o perf $(SOURCES) $(LIBS)
+       @echo "  CC      perf"
+       $(Q)$(XCC) -O2 -std=gnu99 -o perf $(SOURCES) $(LIBS)
 
 
 PHONY += install
-install: all
-       @cp perf $(KFS_ROOT)/bin/perf
+install: perf
+       @echo "  IN      perf"
+       $(Q)cp perf $(KFS_ROOT)/bin/perf
 
 
 PHONY += clean
 clean:
-       @rm -f perf
+       @echo "  RM      perf"
+       $(Q)rm -f perf
 
 
 PHONY += mrproper