70 lines
1.4 KiB
Makefile
70 lines
1.4 KiB
Makefile
CC=@CC@
|
|
CFLAGS=@CFLAGS@
|
|
LD=@LD@
|
|
AR=@AR@
|
|
|
|
VPATH=../src:../test
|
|
|
|
%.o: %.c ../[st]*/*.h makefile
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
APPSRC=application.c handle.c parse.c witness.c
|
|
|
|
LIBSRT=$(sort $(wildcard ../src/*.c))
|
|
LIBSUB=$(subst ../src/,,$(LIBSRT))
|
|
LIBSRC=$(filter-out main.c,$(LIBSUB))
|
|
|
|
TSTSRT=$(sort $(wildcard ../test/*.c))
|
|
TSTSUB=$(subst ../test/,,$(TSTSRT))
|
|
TSTSRC=$(filter-out test.c,$(TSTSUB))
|
|
|
|
APPOBJ=$(APPSRC:.c=.o)
|
|
LIBOBJ=$(LIBSRC:.c=.o)
|
|
TSTOBJ=$(APPOBJ) $(TSTSRC:.c=.o)
|
|
|
|
INCLUDES=-I../$(shell pwd|sed -e 's,.*/,,')
|
|
|
|
all: libkissat.a kissat@TESTDEFAULT@
|
|
test: all tissat
|
|
./tissat
|
|
|
|
REMOVE=*.gcda *.gcno *.gcov gmon.out *~ *.proof
|
|
|
|
clean:
|
|
rm -f kissat tissat
|
|
rm -f makefile build.h *.o *.a
|
|
rm -f $(REMOVE)
|
|
cd ../src; rm -f $(REMOVE)
|
|
cd ../test; rm -f $(REMOVE)
|
|
|
|
coverage:
|
|
@gcov -o . -s ../src/*.[ch] 2>&1 | \
|
|
../scripts/filter-coverage-output.sh
|
|
indent:
|
|
indent ../*/*.[ch]
|
|
|
|
kissat: main.o $(APPOBJ) libkissat.a makefile
|
|
$(LD) -o $@ $< $(APPOBJ) -L. -lkissat -lm
|
|
|
|
tissat: test.o $(TSTOBJ) libkissat.a makefile
|
|
$(LD) -o $@ $< $(TSTOBJ) -L. -lkissat -lm
|
|
|
|
build.h:
|
|
../scripts/generate-build-header.sh > $@
|
|
|
|
collect.o: sort.c
|
|
dense.o: sort.c
|
|
propagate.o: assign.c
|
|
watch.o: sort.c
|
|
|
|
build.o: build.c build.h ../[st]*/*.h makefile
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c $<
|
|
|
|
test.o: test.c build.h ../[st]*/*.h makefile
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c $<
|
|
|
|
libkissat.a: $(LIBOBJ) makefile
|
|
$(AR) rc $@ $(LIBOBJ)
|
|
|
|
.PHONY: all clean coverage indent test build.h
|