CC = gcc
LIB = -lz
CFLAGS = -Wall -g

UNIC_OBJS = unicode_encoding.o unicode_locale.o unicode_string.o
UTIL_OBJS = cffutil.o linkedlist.o dumputil.o fileutil.o
CFF_OBJS = cffread.o $(UNIC_OBJS) $(UTIL_OBJS)
HWP5_OBJS = hwp5read.o $(CFF_OBJS)

all : cffdump hwp5dump

cffdump : cffdump.c $(CFF_OBJS)
hwp5dump : hwp5dump.c $(HWP5_OBJS)
	$(CC) $(CFLAGS) $(LIB) $^ -o $@

cffread.o : cffread.c cffread.h cfftype.h
hwp5read.o : hwp5read.c hwp5read.h hwp5type.h

cffutil.o : cffutil.c cffutil.h
dumputil.o : dumputil.c dumputil.h
fileutil.o : fileutil.c fileutil.h
linkedlist.o : linkedlist.c linkedlist.h

unicode_encoding.o : unicode_encoding.c unicode_encoding.h
unicode_locale.o : unicode_locale.c unicode_locale.h
unicode_string.o : unicode_string.c unicode_string.h

clean :
	rm -f $(HWP5_OBJS)
