Makefile 1005 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. CFLAGS+=-O3 -Wall -fPIE -fno-strict-aliasing
  2. CFLAGS+=-Wformat -Wformat=2 -Wconversion -Wimplicit-fallthrough
  3. CFLAGS+=-Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
  4. CFLAGS+=-fstack-clash-protection -fstack-protector-strong
  5. CFLAGS+=-fstrict-flex-arrays=3
  6. LDFLAGS=-lutil
  7. LDFLAGS+=-Wl,-O3,--sort-common,--as-needed,-z,relro,-z,now,--strip-all -pie
  8. LDFLAGS+=-Wl,-z,nodlopen -Wl,-z,noexecstack,--no-copy-dt-needed-entries
  9. BTREE=btest
  10. BTREE_OBJS=btest.o bcompare.o
  11. BPROMPT=bprompt
  12. BPROMPT_OBJS=bprompt.o bcompare.o
  13. BPROMPT_LEX=lex.yy.c
  14. BPROMPT_YACC=y.tab.c
  15. .PHONY: clean
  16. .MAIN: clean $(BPROMPT) $(BTREE)
  17. $(BTREE): $(BTREE_OBJS)
  18. $(CC) -o ${.TARGET} ${.ALLSRC} $(LDFLAGS)
  19. $(BPROMPT_LEX): gram.l
  20. lex ${.ALLSRC}
  21. $(BPROMPT_YACC): parse.y
  22. yacc -d ${.ALLSRC}
  23. $(BPROMPT): $(BPROMPT_OBJS) $(BPROMPT_LEX) $(BPROMPT_YACC)
  24. $(CC) -o ${.TARGET} ${.ALLSRC} -O3 -fPIE $(LDFLAGS)
  25. .o:
  26. $(CC) -o ${.TARGET} $(CFLAGS) -c ${.IMPSRC}
  27. clean:
  28. rm -f *.o $(BTREE) ${BPROMPT} $(BPROMPT_YACC) $(BPROMPT_LEX)