Artifact [6e76072af6]

Artifact 6e76072af6dd38e423882cc3cb461760b1c1c620:


# Tools
CC = @CC@
AR = @AR@
RANLIB = @RANLIB@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
CPPFLAGS = @CPPFLAGS@
SHOBJFLAGS = @SHOBJFLAGS@
SHOBJLDFLAGS = @SHOBJLDFLAGS@

# Paths
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@

# Target objects
LIBOBJS = libdact.o
SHLIBOBJS = libdact_shr.o
SRCOBJS = $(LIBOBJS:.o=.c)

# Default build target
all: libdact.@SHOBJEXT@ libdact.@AREXT@

# Specific build rules
libdact.@SHOBJEXT@: $(SHLIBOBJS) libdact.vers
	$(CC) $(CFLAGS) $(SHOBJLDFLAGS) -o libdact.@SHOBJEXT@ $(LDFLAGS) $(SHLIBOBJS)
	@WEAKENSYMS@ libdact.@SHOBJEXT@
	@REMOVESYMS@ libdact.@SHOBJEXT@

libdact.@AREXT@: libdact_combined_shr.o
	@WEAKENSYMS@ libdact_combined_shr.o
	@REMOVESYMS@ libdact_combined_shr.o
	$(AR) cr libdact.@AREXT@ libdact_combined_shr.o
	$(RANLIB) libdact.@AREXT@

libdact_combined.c: $(SRCOBJS)
	cat $(SRCOBJS) > libdact_combined.c

libdact.vers: libdact.syms.in
	echo '{' > libdact.vers
	echo '  global:' >> libdact.vers
	for symbol in `cat libdact.syms.in | sed 's/^@''SYMPREFIX@//'`; do \
		echo "          $${symbol};"; \
	done >> libdact.vers
	echo '  local:' >> libdact.vers
	echo '          *;' >> libdact.vers
	echo '};' >> libdact.vers

# Generic build rules
%.o: %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$^"

%_shr.o: %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) $(SHOBJFLAGS) -o "$@" -c "$^"

# Dependencies
libdact_combined.o: libdact_combined.c
libdact_combined_shr.o: libdact_combined.c
libdact.o: libdact.c
libdact_shr.o: libdact.c

# Cleanup targets
clean:
	rm -f $(LIBOBJS) $(SHLIBOBJS)
	rm -f libdact.@SHOBJEXT@ libdact.@AREXT@ dact@EXE@
	rm -f libdact_combined_shr.o libdact_combined.c

distclean: clean
	rm -f config.h Makefile libdact.syms
	rm -f config.status config.log

mrproper: distclean
	./build/autogen.sh distclean

# Make directive targets
.PHONY: all clean distclean mrproper