CFLAGS=-std=gnu99 -g -O2 -I. -I../lib/ -Wall -pedantic
LDFLAGS=libver.a ../lib/libcoreutils.a -lm -lrt

.PHONY: all clean
SORTS=sort-glibc sort-glibc-patched sort-rpm sort-rpm-patched sort-deb sort-deb-patched
TARGETS=$(SORTS) vergen
all: $(TARGETS)

.c.o:
	$(CC) $(CFLAGS) -c $<
$(SORTS):
	$(CC) -o $@ $^ $(LDFLAGS)

sort-glibc: sort.o strverscmp-glibc.o
sort-glibc-patched: sort.o strverscmp-glibc-patched.o

sort-rpm: sort.o strverscmp-rpm.o rpmvercmp.o
sort-rpm-patched: sort.o strverscmp-rpm.o rpmvercmp-patched.o
strverscmp-rpm.o rpmvercmp.o rpmvercmp-patched.o: rpmlib.h

sort-deb: sort.o strverscmp-deb.o vercmp.o
strverscmp-deb.o vercmp.o: vercmp.h

sort-deb-patched: sort.o strverscmp-filevercmp.o filevercmp.o
strverscmp-filevercmp.o filevercmp.o: filevercmp.h

vergen: vergen.cpp

clean:
	rm -fv $(TARGETS) *.o \
		input \
		output out-deb out-rpm out-glibc \
		out-glibc-patched out-rpm-patched out-deb-patched
