diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f22d82d --- /dev/null +++ b/Makefile @@ -0,0 +1,61 @@ +NAME= uiconv +VERSION= 0.2.3 + +LIB= lib +INCLUDE= include +PREFIX= /usr/local +DESTDIR= + +CFLAGS= -Wall -Werror -Os +CFLAGS+= -std=gnu99 -fPIC + +TARGETS= libiconv.a + +DISTFILES= Makefile README TODO iconv.c iconv.h test.c + +all: static + +static: libiconv.a + +shared: libiconv.so + +libiconv.a: iconv.o + $(AR) -cr $@ $< + +libiconv.so.0: iconv.o + $(CC) $(LDFLAGS) -o $@ -shared $< + +libiconv.so: libiconv.so.0 + ln -sf $< $@ + +%.o: %.c + $(CC) $(CFLAGS) -c -I. $< + +clean: + rm -f *.a *.so *.so.0 *.o + +test-gnu: test.c libiconv.a + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $< + +test-uiconv: test.c libiconv.a + $(CC) -I. -L. -o $@ $(CFLAGS) $(LDFLAGS) $< + +test: test-gnu test-uiconv + ./test-uiconv ABC `echo -e "a\xc3\xb8"` `echo -e "a\xf8"` + +P=$(NAME)-$(VERSION) +dist: $(P).tar.gz + +$(P).tar.gz: $(DISTFILES) + rm -rf $(P) + mkdir $(P) + cp $(DISTFILES) $(P)/ + tar -zcf $@ $(P) + rm -rf $(P) + +install: + mkdir -p $(DESTDIR)$(PREFIX)/$(LIB) + mkdir -p $(DESTDIR)$(PREFIX)/$(INCLUDE) + cp libiconv.a $(DESTDIR)$(PREFIX)/$(LIB) + cp iconv.h $(DESTDIR)$(PREFIX)/$(INCLUDE) + |