CFLAGS=-c -mcpu=pentiumpro -Os -Wall -fomit-frame-pointer -fstrict-aliasing
LFLAGS=-s -nostartfiles
LIBS=

RM=rm
CC=gcc
DLLTOOL=dlltool
M4=m4

DEF=transl.def
OBJS=transl.o translSave.o translFile.o translDialog.o transl.res.o
TARGET=transl.srp
DOCTARGET=transl.hlf file_id.diz

all: $(TARGET) $(DOCTARGET)

$(TARGET): $(OBJS)
	$(CC) $(LFLAGS) -mdll -o nul -Xlinker --base-file -Xlinker $@.base $^ $(LIBS)
	$(DLLTOOL) --dllname $@ --base-file $@.base --output-exp $@.exp --def $(DEF)
	$(CC) $(LFLAGS) -mdll  -o $@ $^ $@.exp $(LIBS)
	$(RM) $@.base
	$(RM) $@.exp

transl.o: transl.cpp transl.hpp
	$(CC) $(CFLAGS) $< -o $@

translSave.o: translSave.cpp transl.hpp
	$(CC) $(CFLAGS) $< -o $@

translFile.o: translFile.cpp
	$(CC) $(CFLAGS) $< -o $@

translDialog.o: translDialog.cpp transl.hpp
	$(CC) $(CFLAGS) $< -o $@

transl.res.o: transl.rc transl_version.h
	windres -i $< -o $@

transl_version.h: transl_version.m4 transl_ver.m4
	$(M4) $< > $@

transl.hlf: transl_hlf.m4 transl_ver.m4
	$(M4) $< > $@

file_id.diz: file_id_diz.m4 transl_ver.m4
	$(M4) $< > $@

clear:
	$(RM) *.o
	$(RM) $(TARGET)
