CC = gcc
LD = gcc
INSTALL = install

DEVDRV = gluestik.xdd
RESDMN = gsresolv.prg
BOOTDIR = /c/mint

TESTIT = testit.ttp
DBGLVL = gsdbglvl.ttp
DBGLOG = gslog.ttp

CPPFLAGS =
CFLAGS = -O -fomit-frame-pointer -fno-defer-pop -Wall -mshort 
XLDFLAGS = -mshort
LDFLAGS = -nostdlib $(XLDFLAGS)

# The KGMD distribution has a slightly different toglclr, and its libc
# lives under a different name; use these settings:
#LIBC16 = c16
#TOGLGLOBL = toglclr --global
# Otherwise, use these:
LIBC16 = gnu16
TOGLGLOBL = toglclr -global

SRCS = init.s main.c gsdev.c gsutil.c gsconfig.c gsdebug.c gsmem.c \
       gsstikif.c gslogfmt.c gsresolv.c testit.c gslog.c gsdbglvl.c
HDRS = atarierr.h cookie.h file.h gs_descr.h kerbind.h portab.h sockerr.h \
       transprt.h 
OBJS = init.o main.o gsdev.o gsutil.o gsconfig.o gsdebug.o gsmem.o \
       gsstikif.o gslogfmt.o
RESDMN_OBJS = gsresolv.o gslogfmt.o
OTHER_OBJ = testit.o gsdbglvl.o gslog.o

DISTPKG = gluestik-0.03b2.tgz
DISTFILES = Makefile atarierr.h cookie.h file.h gluestik.xdd gs_descr.h \
	    gsconfig.c gsdbglvl.c gsdbglvl.ttp gsdebug.c gsdev.c gslog.c \
	    gslog.ttp gslogfmt.c gsmem.c gsresolv.c gsresolv.prg \
	    gsstikif.c gsutil.c init.s kerbind.h main.c mintsock.h \
	    portab.h sockerr.h testit.c testit.ttp transprt.h readme

all: driver tools test

driver: $(DEVDRV) $(RESDMN)
tools: $(DBGLVL) $(DBGLOG)
test: $(TESTIT)
dist: $(DISTPKG)

.s.o:
	$(CC) -c $< -o $@

.c.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

$(DEVDRV): $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) -lksocket16 -l$(LIBC16) -o $(DEVDRV)
	$(TOGLGLOBL) $(DEVDRV)
	chmod +x $(DEVDRV)

$(RESDMN): $(RESDMN_OBJS)
	$(LD) $(XLDFLAGS) $(RESDMN_OBJS) -lsocket16 -o $(RESDMN)
	chmod +x $(RESDMN)

$(DBGLVL): gsdbglvl.o
	$(LD) $(XLDFLAGS) gsdbglvl.o -o $(DBGLVL)
	chmod +x $(DBGLVL)

$(DBGLOG): gslog.o
	$(LD) $(XLDFLAGS) gslog.o -o $(DBGLOG)
	chmod +x $(DBGLOG)

$(TESTIT): testit.o
	$(LD) $(XLDFLAGS) testit.o -o $(TESTIT)
	chmod +x $(TESTIT)

install: driver
	$(INSTALL) -m 755 $(DEVDRV) $(BOOTDIR)
	$(INSTALL) -m 755 $(RESDMN) $(BOOTDIR)

$(DISTPKG): $(DISTFILES)
	tar cvzf $(DISTPKG) $(DISTFILES)

clean:
	rm -f $(OBJS) $(RESDMN_OBJS) $(OTHER_OBJ)

depend: # $(SRCS) $(HDRS)
	$(CC) -MM $(CPPFLAGS) *.c > depend

include depend
