It's a stack calculator for the unwise. Public Domain.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

48 lines
696B

  1. .POSIX: # Just kidding, use GNU Make
  2. CP := cp -f
  3. CC := cc
  4. CFLAGS := -std=c99 -Wall -Wextra -Wpedantic
  5. LDFLAGS := -lgmp -lreadline
  6. OBJ := dc.o
  7. ifeq ($(DEBUG),1)
  8. CFLAGS += -Og -g
  9. else
  10. CFLAGS += -O3 -funroll-loops -fomit-frame-pointer
  11. endif
  12. ifdef SAN
  13. CFLAGS += -fsanitize=$(SAN)
  14. endif
  15. ifeq ($(FOR_HUMANS),1)
  16. CPPFLAGS += -DFOR_HUMANS
  17. endif
  18. ifeq ($(DC_COMPLY),1)
  19. CPPFLAGS += -DDC_COMPLY
  20. endif
  21. ifdef PROGN
  22. CPPFLAGS += -DPROGN=\"$(PROGN)\"
  23. else
  24. PROGN := dc
  25. endif
  26. %.o: %.c
  27. $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
  28. $(PROGN): $(OBJ)
  29. $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LDFLAGS)
  30. config.h: config.mk.h
  31. $(CP) $< $@
  32. dc.o: config.h ns.c
  33. clean:
  34. $(RM) $(OBJ) $(PROGN)