sfinx

sphincs+ inspired signing utility
git clone git://git.finwo.net/app/sfinx
Log | Files | Refs | README

Makefile (828B)


      1 TARGET?=
      2 
      3 BIN=sfinx
      4 
      5 SRC:=
      6 SRC+=$(wildcard src/*.c)
      7 SRC+=$(wildcard src/*/*.c)
      8 SRC+=$(wildcard src/*/*/*.c)
      9 
     10 CFLAGS?=-Wall -Wextra -O2
     11 LDFLAGS?=
     12 
     13 # Drop unreferenced code: dependencies export whole libraries, of which we use a part
     14 CFLAGS +=-ffunction-sections -fdata-sections
     15 LDFLAGS+=-Wl,--gc-sections
     16 
     17 INCLUDES:=
     18 INCLUDES+=-I src
     19 
     20 include lib/.dep/config.mk
     21 
     22 # Target-specific overrides, optional.
     23 # Supplied by target/<target>/Makefile.target
     24 -include Makefile.target
     25 
     26 CFLAGS+=$(INCLUDES)
     27 
     28 OBJ:=$(SRC:.c=.o)
     29 
     30 .PHONY: default
     31 default: $(BIN)
     32 
     33 %.o: %.c $(LIBS)
     34 	$(CC) $(CFLAGS) $(@:.o=.c) -D__NAME=\"$(BIN)\" -D__TARGET=\"$(TARGET)\" -c -o $@
     35 
     36 $(BIN): $(OBJ)
     37 	$(CC) $(CFLAGS) $(OBJ) $(LDFLAGS) -o $@
     38 
     39 .PHONY: clean
     40 clean:
     41 	rm -f $(OBJ) $(BIN)
     42 
     43 .PHONY: install
     44 install: $(BIN)
     45 	install -Dm0755 $(BIN) $(DESTDIR)/usr/bin/$(BIN)