picrin/Makefile

42 lines
707 B
Makefile
Raw Normal View History

2013-10-19 14:05:42 -04:00
CC=gcc
CFLAGS=-Wall
2013-11-09 04:05:59 -05:00
ifeq ($(findstring CYGWIN,$(shell uname -s)), CYGWIN)
2013-11-17 04:04:38 -05:00
PICRIN_LIB=cygpicrin.dll
else
PICRIN_LIB=libpicrin.so
endif
all: release
2013-10-30 03:36:21 -04:00
release: CFLAGS += -DDEBUG=0 -O3
2013-11-04 23:26:38 -05:00
release: build
2013-10-30 03:36:21 -04:00
debug: CFLAGS += -g -DDEBUG=1 -O0
debug: build
2013-10-20 05:49:35 -04:00
build: build-lib build-main
2013-10-09 04:10:58 -04:00
2013-10-20 05:44:26 -04:00
build-main:
2013-11-17 04:04:38 -05:00
$(CC) $(CFLAGS) tools/main.c src/*.c -o bin/picrin -I./include -I./extlib -lreadline -lm
2013-10-20 05:44:26 -04:00
build-lib:
2013-10-11 02:20:53 -04:00
cd src; \
2013-10-30 03:36:21 -04:00
yacc -d parse.y; \
2013-11-18 06:24:09 -05:00
flex scan.l
$(CC) $(CFLAGS) -shared -fPIC src/*.c -o lib/$(PICRIN_LIB) -I./include -I./extlib -lm
2013-10-09 04:10:58 -04:00
2013-10-10 03:45:23 -04:00
clean:
2013-10-11 02:20:53 -04:00
rm -f src/y.tab.c src/y.tab.h src/lex.yy.c
2013-11-17 04:04:38 -05:00
rm -f lib/$(PICRIN_LIB)
2013-10-11 02:20:53 -04:00
rm -f bin/picrin
2013-10-10 03:45:23 -04:00
2013-10-09 04:10:58 -04:00
run:
bin/picrin
2013-11-04 23:26:38 -05:00
2013-11-17 04:04:38 -05:00
tak: release
2013-11-04 23:26:38 -05:00
bin/picrin etc/tak.scm
2013-12-05 03:21:52 -05:00
no-act:
bin/picrin -e ''