From def21c086d7205e8b07ca102abc20e3755748296 Mon Sep 17 00:00:00 2001 From: Guillermo Ramos Date: Mon, 27 May 2013 10:19:59 +0200 Subject: start --- Makefile | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Makefile (limited to 'Makefile') 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 -- cgit v1.2.3