42 lines
		
	
	
		
			707 B
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			707 B
		
	
	
	
		
			Makefile
		
	
	
	
CC=gcc
 | 
						|
CFLAGS=-Wall
 | 
						|
 | 
						|
ifeq ($(findstring CYGWIN,$(shell uname -s)), CYGWIN)
 | 
						|
  PICRIN_LIB=cygpicrin.dll
 | 
						|
else
 | 
						|
  PICRIN_LIB=libpicrin.so
 | 
						|
endif
 | 
						|
 | 
						|
all: release
 | 
						|
 | 
						|
release: CFLAGS += -DDEBUG=0 -O3
 | 
						|
release: build
 | 
						|
 | 
						|
debug: CFLAGS += -g -DDEBUG=1 -O0
 | 
						|
debug: build
 | 
						|
 | 
						|
build: build-lib build-main
 | 
						|
 | 
						|
build-main:
 | 
						|
	$(CC) $(CFLAGS) tools/main.c src/*.c -o bin/picrin -I./include -I./extlib -lreadline -lm
 | 
						|
 | 
						|
build-lib:
 | 
						|
	cd src; \
 | 
						|
	  yacc -d parse.y; \
 | 
						|
	  flex scan.l
 | 
						|
	$(CC) $(CFLAGS) -shared -fPIC src/*.c -o lib/$(PICRIN_LIB) -I./include -I./extlib -lm
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -f src/y.tab.c src/y.tab.h src/lex.yy.c
 | 
						|
	rm -f lib/$(PICRIN_LIB)
 | 
						|
	rm -f bin/picrin
 | 
						|
 | 
						|
run:
 | 
						|
	bin/picrin
 | 
						|
 | 
						|
tak: release
 | 
						|
	bin/picrin etc/tak.scm
 | 
						|
 | 
						|
no-act:
 | 
						|
	bin/picrin -e ''
 |