|
- .POSIX: # Just kidding, use GNU Make
-
- CP := cp -f
-
- CC := cc
- CFLAGS := -std=c99 -Wall -Wextra -Wpedantic
- LDFLAGS := -lgmp -lreadline
-
- OBJ := dc.o
-
- ifeq ($(DEBUG),1)
- CFLAGS += -Og -g
- else
- CFLAGS += -O3 -funroll-loops -fomit-frame-pointer
- endif
-
- ifdef SAN
- CFLAGS += -fsanitize=$(SAN)
- endif
-
- ifeq ($(FOR_HUMANS),1)
- CPPFLAGS += -DFOR_HUMANS
- endif
-
- ifeq ($(DC_COMPLY),1)
- CPPFLAGS += -DDC_COMPLY
- endif
-
- ifdef PROGN
- CPPFLAGS += -DPROGN=\"$(PROGN)\"
- else
- PROGN := dc
- endif
-
- %.o: %.c
- $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
-
- $(PROGN): $(OBJ)
- $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LDFLAGS)
-
- config.h: config.mk.h
- $(CP) $< $@
-
- dc.o: config.h ns.c
-
- clean:
- $(RM) $(OBJ) $(PROGN)
|