#=============================================
# Simple Makefile for unix-shell-tools
#=============================================

CC     = i386-aros-gcc

# Copy exes to TARGETDIR
TARGETDIR=.

FLAGS   = -O2 -Wall
CDEFS   = 

DEBUGFLAGS  = 
#DEBUGFLAGS = -g

CFLAGS = $(CDEFS) $(DEBUGFLAGS) $(FLAGS) 

EXE = cut basename dirname head strings wc printf od hexdump 

DIST = unix-shell-tools.i386

all: $(EXE)

dist: clean all
	mkdir $(DIST)
	mkdir $(DIST)/bin
	mkdir $(DIST)/src
	mkdir $(DIST)/doc
	$(foreach f,$(EXE),cp $(TARGETDIR)/$(f) $(DIST)/bin/;)
	cp *.c *.h Makefile $(DIST)/src/
	cp doc/*.txt $(DIST)/doc/
	cp doc/README $(DIST)/
	tar cf $(DIST).tar $(DIST)
	gzip $(DIST).tar

%.o: %.c
	$(CC) $(CFLAGS) -o $@ -c $*.c

cut: cut.o err.o fgetln.o
	$(CC) $(CFLAGS) cut.o err.o fgetln.o -o $(TARGETDIR)/cut

basename: basename.o 
	$(CC) $(CFLAGS) basename.o -o $(TARGETDIR)/basename

dirname: dirname.o 
	$(CC) $(CFLAGS) dirname.o -o $(TARGETDIR)/dirname

head: head.o err.o 
	$(CC) $(CFLAGS) head.o err.o -o $(TARGETDIR)/head

strings: strings.o err.o 
	$(CC) $(CFLAGS) strings.o err.o -o $(TARGETDIR)/strings

wc: wc.o err.o fmt_scaled.o
	$(CC) $(CFLAGS) wc.o err.o fmt_scaled.o -o $(TARGETDIR)/wc

printf: printf.o err.o 
	$(CC) $(CFLAGS) printf.o err.o -o $(TARGETDIR)/printf

od: conv.o display.o hexdump.o hexsyntax.o odsyntax.o parse.o err.o fgetln.o
	$(CC) $(CFLAGS) conv.o display.o hexdump.o hexsyntax.o odsyntax.o parse.o err.o fgetln.o -o $(TARGETDIR)/od

hexdump: od
	cp $(TARGETDIR)/od $(TARGETDIR)/hexdump

clean:
	rm -rf $(EXE) *.o $(DIST)*
