aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2007-10-09 16:43:29 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2007-10-09 16:43:29 -0500
commit10db4ab0c6a11382799a8f5e7d94969931903b6d (patch)
tree79922fed84365a361146f2c4f1dc9918b56309e9
parent00546084562230093c55e986f9851a04fe26ef7d (diff)
downloadluasignal-10db4ab0c6a11382799a8f5e7d94969931903b6d.tar.gz
luasignal-10db4ab0c6a11382799a8f5e7d94969931903b6d.zip
add an actual makefile
-rw-r--r--Makefile69
1 files changed, 67 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 60e90a1..10413e5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,2 +1,67 @@
-src/signal.so : src/signal.c src/signames.c src/queue.c
- gcc -O -shared -fpic -Wall -pedantic -Werror src/signal.c src/signames.c src/queue.c -o src/signal.so -llua
+include Make.config
+
+BIN = src/signal.so
+OBJ = src/signal.o \
+ src/signames.o \
+ src/queue.o
+CC = gcc
+INCLUDES =
+DEFINES =
+LIBS = -llua
+# COMMONFLAGS = -fpic -Werror -Wall -pedantic -O0 -g -pipe
+COMMONFLAGS = -fpic -Werror -Wall -pedantic -O2 -g -pipe
+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
+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) $(MAIN_SRC)
+ @touch doc
+
+clean :
+ rm -rf $(OBJ) $(BIN) $(DOC_DIR)
+
+TEST_SRC = test/signal_test.lua test/alarm_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_DIR) $(OTHER_FILES)
+ @echo "Creating $(VERSION).tar.gz"
+ @mkdir $(VERSION)
+ @mkdir $(VERSION)/src
+ @cp $(MAIN_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