hoedown/Makefile

59 lines
1.1 KiB
Makefile
Raw Normal View History

2013-09-24 00:35:54 +00:00
CFLAGS = -c -g -O3 -Wall -Wextra -Wno-unused-parameter -Isrc
2011-09-08 19:37:50 +00:00
2013-09-22 09:10:51 +00:00
ifneq ($(OS),Windows_NT)
CFLAGS += -fPIC
endif
2013-09-20 06:09:52 +00:00
HOEDOWN_SRC=\
2011-09-08 19:37:50 +00:00
src/autolink.o \
src/buffer.o \
2013-09-20 06:09:52 +00:00
src/escape.o \
src/html.o \
2013-09-21 02:57:08 +00:00
src/html_blocks.o \
2013-09-20 06:09:52 +00:00
src/html_smartypants.o \
src/markdown.o \
src/stack.o
2011-09-08 19:37:50 +00:00
2013-09-21 09:57:13 +00:00
.PHONY: all test clean
2011-04-15 08:36:46 +00:00
2013-09-21 09:57:13 +00:00
all: libhoedown.so hoedown smartypants
2011-04-15 08:36:46 +00:00
2013-09-22 09:10:51 +00:00
# Libraries
2011-04-15 08:36:46 +00:00
2013-09-21 09:57:13 +00:00
libhoedown.so: libhoedown.so.1
ln -f -s $^ $@
2011-04-15 08:36:46 +00:00
2013-09-20 06:09:52 +00:00
libhoedown.so.1: $(HOEDOWN_SRC)
$(CC) $(LDFLAGS) -shared $^ -o $@
2011-04-15 08:36:46 +00:00
2013-09-22 09:10:51 +00:00
# Executables
2011-04-15 08:36:46 +00:00
2013-09-21 09:57:13 +00:00
hoedown: examples/hoedown.o $(HOEDOWN_SRC)
$(CC) $(LDFLAGS) $^ -o $@
2013-09-20 06:09:52 +00:00
smartypants: examples/smartypants.o $(HOEDOWN_SRC)
2011-04-15 08:36:46 +00:00
$(CC) $(LDFLAGS) $^ -o $@
2013-09-22 09:10:51 +00:00
# Perfect hashing
2013-09-21 02:57:08 +00:00
src/html_blocks.c: html_block_names.gperf
gperf -L ANSI-C -N hoedown_find_block_tag -c -C -E -S 1 --ignore-case -m100 $^ > $@
2013-09-22 09:10:51 +00:00
# Testing
2013-09-21 09:57:13 +00:00
2013-09-20 06:09:52 +00:00
test: hoedown
perl test/MarkdownTest_1.0.3/MarkdownTest.pl \
2013-09-20 06:09:52 +00:00
--script=./hoedown --testdir=test/MarkdownTest_1.0.3/Tests --tidy
2013-09-22 09:10:51 +00:00
# Housekeeping
2011-04-15 08:36:46 +00:00
2013-09-21 09:57:13 +00:00
clean:
$(RM) -f src/*.o examples/*.o
$(RM) -f libhoedown.so libhoedown.so.1 hoedown smartypants
$(RM) -f hoedown.exe smartypants.exe
2011-04-15 08:36:46 +00:00
2013-09-22 09:10:51 +00:00
# Generic object compilations
2011-04-15 08:36:46 +00:00
2013-09-21 09:57:13 +00:00
%.o: src/%.c examples/%.c
2011-04-15 08:36:46 +00:00
$(CC) $(CFLAGS) -o $@ $<