1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
CC=@CC@
CFLAGS=@CFLAGS@
all: @TARGETS@
clean:
rm -f picosat picomcs picomus picogcnf
rm -f *.exe *.s *.o *.a *.so *.plist
rm -f makefile config.h
rm -f gmon.out *~
rm -f *.so.1.0.0 picomus
analyze:
clang --analyze $(CFLAGS) *.c *.h
picosat: libpicosat.a app.o main.o
$(CC) $(CFLAGS) -o $@ main.o app.o -L. -lpicosat
picomcs: libpicosat.a picomcs.o
$(CC) $(CFLAGS) -o $@ picomcs.o -L. -lpicosat
picomus: libpicosat.a picomus.o
$(CC) $(CFLAGS) -o $@ picomus.o -L. -lpicosat
picogcnf: libpicosat.a picogcnf.o
$(CC) $(CFLAGS) -o $@ picogcnf.o -L. -lpicosat
app.o: app.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
picomcs.o: picomcs.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
picomus.o: picomus.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
picogcnf.o: picogcnf.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
main.o: main.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
picosat.o: picosat.c picosat.h makefile
$(CC) $(CFLAGS) -c $<
version.o: version.c config.h makefile
$(CC) $(CFLAGS) -c $<
config.h: makefile VERSION mkconfig # and actually picosat.c
rm -f $@; ./mkconfig > $@
libpicosat.a: picosat.o version.o
ar rc $@ picosat.o version.o
ranlib $@
%.pic.o: %.o
mv $< $*.nopic.o
$(MAKE) CFLAGS="$(CFLAGS) -fPIC" $<
mv $< $@
mv $*.nopic.o $<
SONAME=-Xlinker -soname -Xlinker libpicosat.so.1
libpicosat.so: picosat.pic.o version.pic.o
$(CC) $(CFLAGS) -shared -o libpicosat.so.1.0.0 $^ -lc $(SONAME)
libpicosat-trace.so: picosat.pic.o version.pic.o
$(CC) $(CFLAGS) -shared -o libpicosat-trace.so.1.0.0 $^ -lc -Wl,-soname,libpicosat-trace.so.1
.PHONY: all clean
|