xref: /libCEED/Makefile (revision bae895488eeeeb46dc9597542d9bc07686d3d353)
1582447c9SJed BrownCFLAGS = -std=c99 -Wall -Wextra -Wno-unused-parameter -fPIC -MMD -MP
24859b599SJed BrownCFLAGS += $(if $(NDEBUG),-O2,-g)
34859b599SJed BrownCPPFLAGS = -I.
4582447c9SJed BrownLDLIBS = -lm
587e762eaSJed Brown
65c719ab0SJed BrownDARWIN := $(filter Darwin,$(shell uname -s))
75c719ab0SJed BrownSO_EXT := $(if $(DARWIN),dylib,so)
89df38c42SVeselin Dobrev
9*bae89548SJed Brownlibceed := libceed.$(SO_EXT)
10*bae89548SJed Brownlibceed.c := $(wildcard ceed*.c)
11719a6f93SJed Browntests.c   := $(sort $(wildcard t[0-9][0-9]-*.c))
124859b599SJed Browntests     := $(tests.c:%.c=%)
134859b599SJed Brown
149df38c42SVeselin Dobrev.SUFFIXES:
159df38c42SVeselin Dobrev.SUFFIXES: .c .o .d
169df38c42SVeselin Dobrev
17*bae89548SJed Brown$(libceed) : $(libceed.c:%.c=%.o)
184859b599SJed Brown	$(CC) $(LDFLAGS) -shared -o $@ $^ $(LDLIBS)
194859b599SJed Brown
20*bae89548SJed Brown$(tests) : $(libceed)
214859b599SJed Brown$(tests) : LDFLAGS += -Wl,-rpath,. -L.
22*bae89548SJed Brownt% : t%.c $(libceed)
234859b599SJed Brown
244859b599SJed Brownrun-t% : t%
254859b599SJed Brown	@./tap.sh $<
264859b599SJed Brown
274859b599SJed Browntest : $(tests:%=run-%)
284859b599SJed Brown
294859b599SJed Brown.PHONY: clean print
304859b599SJed Brownclean :
31*bae89548SJed Brown	$(RM) *.o *.d $(libceed) $(tests.c:%.c=%)
329df38c42SVeselin Dobrev	$(RM) -r *.dSYM
334859b599SJed Brown
344859b599SJed Brownprint :
354859b599SJed Brown	@echo $(VAR)=$($(VAR))
36582447c9SJed Brown
379df38c42SVeselin Dobrevprint-%:
389df38c42SVeselin Dobrev	$(info [ variable name]: $*)
399df38c42SVeselin Dobrev	$(info [        origin]: $(origin $*))
409df38c42SVeselin Dobrev	$(info [         value]: $(value $*))
419df38c42SVeselin Dobrev	$(info [expanded value]: $($*))
429df38c42SVeselin Dobrev	$(info )
439df38c42SVeselin Dobrev	@true
449df38c42SVeselin Dobrev
45*bae89548SJed Brown-include $(libceed.c:%.c=%.d) $(tests.c:%.c=%.d)
46