aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 94eb51aa5d47ba937fc007fdf37f3d40683bc831 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
include Make.config
include Make.$(OS)

BIN = src/signal.so
OBJ = src/signal.o \
      src/signames.o \
      src/queue.o
CC = gcc
INCLUDES = -I$(LUA_INCLUDEPATH)
DEFINES =
LIBS = -l$(LUA_LIBNAME)
COMMONFLAGS = -Werror -Wall -pedantic -O2 -g -pipe $(OS_FLAGS)
CFLAGS = -c $(INCLUDES) $(DEFINES) $(COMMONFLAGS)
LDFLAGS = -shared $(LIBS) $(COMMONFLAGS)

build : $(BIN)

$(BIN) : $(OBJ)
	$(CC) $(OBJ) $(LDFLAGS) -o $@

%.o : %.c
	$(CC) $(CFLAGS) -o $@ $<

install : $(BIN)
	mkdir -p $(LUA_DIR)
	cp $(BIN) $(LUA_DIR)

MAIN_SRC = src/signal.c
DOC_SRC = src/signal.luadoc
OTHER_SRC = src/signames.c src/signames.h src/queue.c src/queue.h
DOC_DIR = doc

doc :
	mkdir -p $(DOC_DIR)
	$(LUADOC) --nofiles -d $(DOC_DIR) $(DOC_SRC)
	@touch doc

clean :
	rm -rf $(OBJ) $(BIN) $(DOC_DIR)

TEST_SRC = test/signal_test.lua test/alarm_test.lua test/simple_test.lua
OTHER_FILES = Makefile Make.config README LICENSE TODO
VERSION = $(shell grep 'define VERSION ' $(MAIN_SRC) | sed 's/.define VERSION "\(.*\)"/\1/' | tr ' ' '-')

dist : $(VERSION).tar.gz

$(VERSION).tar.gz : $(MAIN_SRC) $(OTHER_SRC) $(TEST_SRC) $(DOC_SRC) $(DOC_DIR) $(OTHER_FILES)
	@echo "Creating $(VERSION).tar.gz"
	@mkdir $(VERSION)
	@mkdir $(VERSION)/src
	@cp $(MAIN_SRC) $(DOC_SRC) $(OTHER_SRC) $(VERSION)/src
	@mkdir $(VERSION)/test
	@cp $(TEST_SRC) $(VERSION)/test
	@mkdir $(VERSION)/doc
	@cp -r $(DOC_DIR)/* $(VERSION)/doc
	@cp $(OTHER_FILES) $(VERSION)
	@tar czf $(VERSION).tar.gz $(VERSION)
	@rm -rf $(VERSION)

dep :
	makedepend $(INCLUDES) $(DEFINES) -Y src/*.c src/*.h > /dev/null 2>&1
	rm -f Makefile.bak

# DO NOT DELETE

src/queue.o: src/queue.h
src/signal.o: src/queue.h src/signames.h
src/signames.o: src/signames.h