makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. OUTDIR = output
  2. OUTFILES = $(OUTDIR)/test-d_dmd $(OUTDIR)/test-d_ldc $(OUTDIR)/test-nim $(OUTDIR)/test-zig $(OUTDIR)/test-v $(OUTDIR)/test-rust $(OUTDIR)/test-cpp_gcc $(OUTDIR)/test-c_tcc $(OUTDIR)/test-c_gcc $(OUTDIR)/test-cpp_clang $(OUTDIR)/test-c_clang
  3. all: $(OUTFILES)
  4. strip: $(OUTFILES)
  5. strip $(OUTDIR)/test-zig
  6. strip $(OUTDIR)/test-nim
  7. #strip $(OUTDIR)/test-v # Why does this fail on the v binary?
  8. strip $(OUTDIR)/test-rust
  9. strip $(OUTDIR)/test-cpp_gcc
  10. strip $(OUTDIR)/test-c_gcc
  11. strip $(OUTDIR)/test-c_tcc
  12. strip $(OUTDIR)/test-cpp_clang
  13. strip $(OUTDIR)/test-c_clang
  14. strip $(OUTDIR)/test-d_dmd
  15. strip $(OUTDIR)/test-d_ldc
  16. time: $(OUTFILES)
  17. for FILE in $(shell ls $(OUTDIR)); do
  18. time ./${FILE}
  19. done
  20. $(OUTDIR)/test-zig: $(OUTDIR)
  21. zig build-exe -O ReleaseSmall main.zig --name test-zig
  22. mv test-zig $(OUTDIR)/ # Why can't I change the output directory?
  23. $(OUTDIR)/test-v: $(OUTDIR)
  24. ~/.local/bin/v/v -b native main.v -o $(OUTDIR)/test-v
  25. $(OUTDIR)/test-rust: $(OUTDIR)
  26. rustc main.rs -o $(OUTDIR)/test-rust
  27. $(OUTDIR)/test-nim: $(OUTDIR)
  28. nim c -o:$(OUTDIR)/test-nim --opt:size -d:release main.nim
  29. $(OUTDIR)/test-cpp_gcc: $(OUTDIR)
  30. g++ -Os main.cpp -o $(OUTDIR)/test-cpp_gcc
  31. $(OUTDIR)/test-c_tcc: $(OUTDIR)
  32. tcc -Os main.c -o $(OUTDIR)/test-c_tcc
  33. $(OUTDIR)/test-c_gcc: $(OUTDIR)
  34. gcc -Os main.c -o $(OUTDIR)/test-c_gcc
  35. $(OUTDIR)/test-cpp_clang: $(OUTDIR)
  36. clang++ -Os main.cpp -o $(OUTDIR)/test-cpp_clang
  37. $(OUTDIR)/test-c_clang: $(OUTDIR)
  38. clang -Os main.c -o $(OUTDIR)/test-c_clang
  39. $(OUTDIR)/test-d_dmd: $(OUTDIR)
  40. dmd -O main.d -of=$(OUTDIR)/test-d_dmd
  41. $(OUTDIR)/test-d_ldc: $(OUTDIR)
  42. ldc2 -Oz main.d -of=$(OUTDIR)/test-d_ldc
  43. $(OUTDIR):
  44. mkdir $(OUTDIR)
  45. clean:
  46. rm -rf zig-cache $(OUTDIR)