slash

slash is a simple type-oriented programming language
Log | Files | Refs | README | LICENSE

Makefile (707B)


      1 #
      2 # Makefile -- build system
      3 #
      4 
      5 SRCS     := slash.c cli.c stat.c lex.c pipeline.c
      6 DEPS     != echo *.d
      7 OBJS     := ${SRCS:.c=.o}
      8 
      9 CC       ?= cc
     10 CFLAGS   := -Wall -Werror -pipe -std=c99 -MMD -MP
     11 CPPFLAGS := -DVERSION='"0.1.0 DEV"' -DIN_SLASH
     12 LDFLAGS  ?=
     13 LIBS     ?= -lm
     14 
     15 TARG     ?= slash
     16 
     17 DESTDIR  ?= /
     18 BINDIR   ?= usr/local/bin
     19 
     20 .SUFFIXES: .c .o
     21 
     22 .c.o:
     23 	${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@
     24 
     25 all: ${TARG}
     26 
     27 ${TARG}: ${OBJS}
     28 	${CC} ${OBJS} -o ${TARG} ${LDFLAGS} ${LIBS}
     29 
     30 clean:
     31 	rm -f ${TARG} ${OBJS} ${DEPS}
     32 
     33 install: all
     34 	install -d ${DESTDIR}${BINDIR}
     35 	install -m 755 ${TARG} ${DESTDIR}${BINDIR}
     36 
     37 uninstall:
     38 	rm -f ${DESTDIR}${BINDIR}/${TARG}
     39 
     40 -include "${DEPS}"
     41 
     42 .PHONY: all clean install uninstall
     43