aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 5 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 01e6e0a..a763c2a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,12 @@
-FLAGS = -Wno-incompatible-library-redeclaration -nostartfiles
+FLAGS = -Wno-incompatible-library-redeclaration -nostartfiles -nostdlib
SIZE_FLAGS = -Wl,--undefined=main -flto -Oz -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,--strip-all -finline-hint-functions -fno-builtin -Wl,--print-gc-sections -fno-unwind-tables -fomit-frame-pointer -fno-asynchronous-unwind-tables -fno-ident -fvisibility=hidden -march=native -Wl,--build-id=none
all: m4 c test
+clean:
+ rm -rf out.*
+ rm -rf *.m4.h
+
m4:
m4 moonshine.m4 > moonshine.m4.h
@@ -17,16 +21,6 @@ profile:
perf record ./out.bin.profile
perf report > ./out.profile.txt
-# useless. it don't work.
-# profile:
-# clang -D__MOONSHINE_PROFILER main.c -o out.bin.profile $(FLAGS) $(SIZE_FLAGS) -fprofile-generate
-# echo NOTE: Let the program run completely and provide it with typical inputs.
-# ./out.bin.profile
-# llvm-profdata merge -output=default.profdata profile.profraw
-# rm -rf profile.profraw
-# clang main.c -o out.bin.release $(FLAGS) $(SIZE_FLAGS) -fprofile-use
-# rm -rf profile.profdata
-
release:
clang main.c -o out.bin.release $(FLAGS) $(SIZE_FLAGS)