#--------------------------------------------------------------------------
# $Id: makefile 1.8 1996/09/22 22:39:54 Madsen Exp $
#--------------------------------------------------------------------------
# Makefile for use with GNU Make, EMX 0.9c, and GCC 2.7.2

CC=gcc
RM=del
SHELL=cmd.exe

CFLAGS=-Wall -DMAX_FILE_NAME=80 -O3
#CFLAGS=-Wall -DMAX_FILE_NAME=80
LDFLAGS=-Zomf -Zcrtdll -s

OBJECTS = alias.obj buffer.obj emx.obj fastmem.obj hotkey.obj input.obj \
	main.obj math.obj menu.obj object.obj process.obj random.obj \
	screen.obj sound.obj stream.obj table.obj text.obj variable.obj

ifdef DEBUG
# Use a.out format so we can use GDB:
OBJECTS:=$(subst .obj,.o,$(OBJECTS))
CFLAGS:=$(CFLAGS) -O0 -g
LDFLAGS=-g
# Build only FrotzEMX.exe (Frotz.exe won't build properly with DEBUG)
debug: FrotzEMX.exe
endif

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

all: Frotz.exe FrotzEMX.exe

.PHONY: all clean dist distclean mostlyclean maintainer-clean

FrotzEMX.exe: $(OBJECTS)
	$(CC) $(LDFLAGS) -o $@ frotz.def $(OBJECTS) -lvideo

Frotz.exe: $(OBJECTS)
	$(CC) -Zomf -Zsys -Zsmall-conv -s -o $@ frotz.def $(OBJECTS) -lvideo

$(OBJECTS): frotz.h

clean distclean mostlyclean:
	-$(RM) *.o *.obj

maintainer-clean:
	$(RM) *.o *.obj *.exe

TAGS tags : *.c *.h
	etags *.c *.h

#--------------------------------------------------------------------------
# Create ZIP file for distribution:

SOURCE := $(notdir $(wildcard RCS/*.c) $(wildcard RCS/*.h))

dist: all source.zip checksum.asc
	-$(RM) frotz201_std02_os2.zip
	ren history.os2 HISTORY.OS2
	ren readme.os2 README.OS2
	zip -9 frotz201_std02_os2 README.OS2 FILE_ID.DIZ HISTORY.OS2 \
		*.exe checksum.asc
	@zip -0m frotz201_std02_os2 source.zip

checksum.asc: checksum.txt *.exe source.zip
	copy checksum.txt checksum
	md5sum -b *.exe source.zip >>checksum
	pgp -sta checksum

source.zip: $(SOURCE) frotz.def Makefile SOURCE.OS2
	-$(RM) source.zip
	ren makefile Makefile
	ren source.os2 SOURCE.OS2
	zip -9 source $^
