xref: /libCEED/Makefile (revision 9df38c425b88ab271c89e5d0d4d23eaf9c0ac195)
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*9df38c42SVeselin DobrevNOTMAC := $(subst Darwin,,$(shell uname -s))
7*9df38c42SVeselin DobrevSO_EXT := $(if $(NOTMAC),so,dylib)
8*9df38c42SVeselin Dobrev
9*9df38c42SVeselin 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
14*9df38c42SVeselin Dobrev.SUFFIXES:
15*9df38c42SVeselin Dobrev.SUFFIXES: .c .o .d
16*9df38c42SVeselin 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=%)
32*9df38c42SVeselin Dobrev	$(RM) -r *.dSYM
334859b599SJed Brown
344859b599SJed Brownprint :
354859b599SJed Brown	@echo $(VAR)=$($(VAR))
36582447c9SJed Brown
37*9df38c42SVeselin Dobrevprint-%:
38*9df38c42SVeselin Dobrev	$(info [ variable name]: $*)
39*9df38c42SVeselin Dobrev	$(info [        origin]: $(origin $*))
40*9df38c42SVeselin Dobrev	$(info [         value]: $(value $*))
41*9df38c42SVeselin Dobrev	$(info [expanded value]: $($*))
42*9df38c42SVeselin Dobrev	$(info )
43*9df38c42SVeselin Dobrev	@true
44*9df38c42SVeselin Dobrev
45582447c9SJed Brown-include $(libfeme.c:%.c=%.d) $(tests.c:%.c=%.d)
46