blob: f22d82d9aecbc42c7fa690276bdddff2688e093d (
plain)
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
|
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)
|