xref: /libCEED/Makefile (revision 5c719ab07be4feb00dfa21a8ae43d2ead3ad0d08)
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
6*5c719ab0SJed BrownDARWIN := $(filter Darwin,$(shell uname -s))
7*5c719ab0SJed BrownSO_EXT := $(if $(DARWIN),dylib,so)
89df38c42SVeselin Dobrev
99df38c42SVeselin Dobrevlibfeme := libfeme.$(SO_EXT)
104859b599SJed Brownlibfeme.c := $(wildcard feme*.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
174859b599SJed Brown$(libfeme) : $(libfeme.c:%.c=%.o)
184859b599SJed Brown	$(CC) $(LDFLAGS) -shared -o $@ $^ $(LDLIBS)
194859b599SJed Brown
204859b599SJed Brown$(tests) : $(libfeme)
214859b599SJed Brown$(tests) : LDFLAGS += -Wl,-rpath,. -L.
224859b599SJed Brownt% : t%.c $(libfeme)
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 :
314859b599SJed Brown	$(RM) *.o $(libfeme) $(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
45582447c9SJed Brown-include $(libfeme.c:%.c=%.d) $(tests.c:%.c=%.d)
46