diff options
author | Guillermo Ramos | 2013-05-27 10:19:59 +0200 |
---|---|---|
committer | Guillermo Ramos | 2013-05-27 10:27:12 +0200 |
commit | def21c086d7205e8b07ca102abc20e3755748296 (patch) | |
tree | 6086d9119fc5584ebbca16ef8a3885d72188452a /Makefile | |
download | jast-master.tar.gz |
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2daa325 --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +CC = gcc +CFLAGS = -Wall -Wextra -pedantic -std=c99 -O3 -Idoll +LDFLAGS = -lm +OBJECTS = jast.o +HEADERS = jast.h +DEPENDS = doll/doll.o +RELOCAT = libjast.o +LIBRARY = libjast.a +JAST_TEST = jast_test +PREFIX = /usr/local + +release: $(RELOCAT) $(LIBRARY) + +$(RELOCAT): $(DEPENDS) $(OBJECTS) + ld -r $(DEPENDS) $(OBJECTS) -o $(RELOCAT) + +$(LIBRARY): $(DEPENDS) $(OBJECTS) + ar rcs $(LIBRARY) $(OBJECTS) $(DEPENDS) + +$(JAST_TEST)_lib: $(LIBRARY) $(JAST_TEST).o + $(CC) $(JAST_TEST).o $(LDFLAGS) -L. -ljast -o $(JAST_TEST) + +$(JAST_TEST): $(RELOCAT) $(JAST_TEST).o + $(CC) $(JAST_TEST).o $(RELOCAT) $(LDFLAGS) -o $(JAST_TEST) + +test: release $(JAST_TEST) + ./$(JAST_TEST) + +doc: + rm -rf doc + doxygen + +re: clean release + +clean: + cd doll && make clean + rm -rf *.o *.a doc $(JAST_TEST) $(TARGET) + +install: release + mkdir -p $(PREFIX)/lib + mkdir -p $(PREFIX)/include + cp $(LIBRARY) $(PREFIX)/lib/ + cp $(HEADERS) $(PREFIX)/include/ + chmod 644 $(PREFIX)/lib/$(LIBRARY) + + +doll/doll.o: + cd doll && make + +%.o: %.c + $(CC) $(CFLAGS) -c $< + +.PHONY: release doll test doc re clean install |