summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorDaniel Carl <danielcarl@gmx.de>2014-06-06 01:49:47 +0200
committerDaniel Carl <danielcarl@gmx.de>2014-06-06 01:49:47 +0200
commit6302764e6bf33a226dbd36a70abfb941413352b1 (patch)
tree7a69d50cf8874b3e1bc0aedefeca9eefccee6e60 /Makefile
parent5654d8c3fd775617fe38663ce41c83687ff413dc (diff)
Added first unit tests.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile80
1 files changed, 48 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index d391263..7c4ab04 100644
--- a/Makefile
+++ b/Makefile
@@ -2,8 +2,10 @@ include config.mk
-include $(DEPS)
-all: $(TARGET)
+all: $(TARGET)
debug: $(DTARGET)
+test: $(LIBTARGET)
+ @$(MAKE) $(MFLAGS) -s -C tests
options:
@echo "$(PROJECT) build options:"
@@ -12,57 +14,71 @@ options:
@echo "LDFLAGS = $(LDFLAGS)"
@echo "CC = $(CC)"
-src/hints.o: src/hints.js.h
+install: $(TARGET) doc/$(MAN1)
+ install -d $(DESTDIR)$(BINDIR)
+ install -d $(DESTDIR)$(MANDIR1)
+ install -m 755 $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
+ @echo "install -m 644 src/$(MAN1) $(DESTDIR)$(MANDIR1)/$(MAN1)"
+ @sed -e "s/VERSION/$(VERSION)/g" \
+ -e "s/DATE/`date +'%m %Y'`/g" < doc/$(MAN1) > $(DESTDIR)$(MANDIR1)/$(MAN1)
+ @chmod 644 $(DESTDIR)$(MANDIR1)/$(MAN1)
+
+uninstall:
+ $(RM) $(DESTDIR)$(BINDIR)/$(TARGET)
+ $(RM) $(DESTDIR)$(MANDIR1)/$(MAN1)
+
+clean: test-clean
+ $(RM) src/*.o src/*.do src/*.lo src/hints.js.h
+ $(RM) tests/$(LIBTARGET) $(TARGET) $(DTARGET)
+
+test-clean:
+ @$(MAKE) $(MFLAGS) -C tests clean
+
+dist: dist-clean
+ @echo "Creating tarball."
+ @git archive --format tar -o $(DIST_FILE) HEAD
+
+dist-clean:
+ $(RM) $(DIST_FILE)
+
+src/hints.o: src/hints.js.h
src/hints.do: src/hints.js.h
+src/hints.lo: src/hints.js.h
src/hints.js.h: src/hints.js
@echo "minify $<"
@cat $< | src/js2h.sh > $@
-$(OBJ): src/config.h config.mk
+$(OBJ): src/config.h config.mk
$(DOBJ): src/config.h config.mk
+$(LOBJ): src/config.h config.mk
$(TARGET): $(OBJ)
@echo "$(CC) $@"
- @$(CC) $(OBJ) -o $(TARGET) $(LDFLAGS)
+ @$(CC) $(OBJ) -o $@ $(LDFLAGS)
$(DTARGET): $(DOBJ)
@echo "$(CC) $@"
- @$(CC) $(DFLAGS) $(DOBJ) -o $(DTARGET) $(DLDFLAGS)
+ @$(CC) $(DOBJ) -o $@ $(DLDFLAGS)
+
+$(LIBTARGET): $(LOBJ)
+ @echo "$(CC) tests/$@"
+ @$(CC) -shared ${LOBJ} -o ./tests/$(LIBTARGET)
src/config.h:
@echo create $@ from src/config.def.h
@cp src/config.def.h $@
%.o: %.c %.h
- @echo "${CC} $<"
- @$(CC) -c -o $@ $< $(CFLAGS)
+ @echo "${CC} $@"
+ @$(CC) $(CFLAGS) -c -o $@ $<
%.do: %.c %.h
- @echo "${CC} $<"
- @$(CC) -c -o $@ $< $(DFLAGS)
-
-install: $(TARGET) doc/$(MAN1)
- install -d $(DESTDIR)$(BINDIR)
- install -d $(DESTDIR)$(MANDIR1)
- install -m 755 $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
- @echo "install -m 644 src/$(MAN1) $(DESTDIR)$(MANDIR1)/$(MAN1)"
- @sed -e "s/VERSION/$(VERSION)/g" \
- -e "s/DATE/`date +'%m %Y'`/g" < doc/$(MAN1) > $(DESTDIR)$(MANDIR1)/$(MAN1)
- @chmod 644 $(DESTDIR)$(MANDIR1)/$(MAN1)
+ @echo "${CC} $@"
+ @$(CC) $(DFLAGS) -c -o $@ $<
-uninstall:
- $(RM) $(DESTDIR)$(BINDIR)/$(TARGET)
- $(RM) $(DESTDIR)$(MANDIR1)/$(MAN1)
-
-clean:
- $(RM) src/*.o src/*.do src/hints.js.h $(TARGET) $(DTARGET)
-
-dist: distclean
- @echo "Creating tarball."
- @git archive --format tar -o $(DIST_FILE) HEAD
-
-distclean:
- $(RM) $(DIST_FILE)
+%.lo: %.c %.h
+ @echo "${CC} $@"
+ @$(CC) $(CFLAGS) -fPIC -c -o $@ $<
-.PHONY: clean debug all install uninstall options dist
+.PHONY: clean debug all install uninstall options dist test