]> git.sur5r.net Git - iec16022/blobdiff - Makefile
Imported Upstream version 0.2
[iec16022] / Makefile
index c8fb665a15b9177a1d6b76227c4a4db31ccb02a7..4929afdb1682760684ec6b5382bf1ec9c5f80b51 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,21 +2,39 @@ CC=/usr/bin/cc
 INSTALL=/usr/bin/install
 GZIP=/bin/gzip
 
-DESTDIR=/usr/local
-
-prefix=$(DESTDIR)
+prefix=/usr/local
 bindir=$(prefix)/bin
 mandir=$(prefix)/share/man
 
-all:
-       $(CC) -o iec16022 iec16022.c -DLIB image.c reedsol.c iec16022ecc200.c -lz -lpopt
+CFLAGS=-Wall
+
+.PHONY: test clean
+
+all: iec16022 manpage
+
+iec16022: iec16022ecc200.o image.o iec16022.c
+       $(CC) -c iec16022.c
+       $(CC) -o iec16022 $(CFLAGS) reedsol.o iec16022.o image.o iec16022ecc200.o -lz -lpopt
+
+manpage: iec16022.1
        $(GZIP) -f --best < iec16022.1 > iec16022.1.gz
 
 install: all
-       $(INSTALL) -m 755 iec16022 $(bindir)
-       $(INSTALL) -m 644 iec16022.1.gz $(mandir)/man1
+       $(INSTALL) -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+       $(INSTALL) -m 755 iec16022 $(DESTDIR)$(bindir)
+       $(INSTALL) -m 644 iec16022.1.gz $(DESTDIR)$(mandir)/man1
+
+test: iec16022
+       cd test; ./testsuite.sh
+
+iec16022ecc200.o: iec16022ecc200.c iec16022ecc200.h reedsol.o
+       $(CC) -c iec16022ecc200.c
+
+image.o: image.c image.h
+       $(CC) -c image.c
 
+reedsol.o: reedsol.c reedsol.h
+       $(CC)  -DLIB -c reedsol.c
 
 clean:
-       rm -f iec16022
-       rm -f iec16022.1.gz
+       rm -f iec16022 iec16022.1.gz *.o