OBJDIR = ./final.32.gcc/obj REOBJDIR = \.\/final\.32\.gcc\/obj\/ DLLDIR = ./final.32.gcc COMMON = ../common COMINC = $(COMMON)/ascii NAME = Compare DLLNAME = $(NAME).dll DLLFULLNAME = $(DLLDIR)/$(DLLNAME) SRCS = compare.cpp DEF = $(NAME).gcc.def CXX = g++ DLLTOOL = dlltool RM = rm -f CP = cp -f M4 = m4 -P MV = mv -f MKDIR = mkdir -p WINDRES=windres CXXFLAGS = -I $(COMMON) -I $(COMINC) -Wall -Os -funsigned-char -fomit-frame-pointer -fstrict-aliasing -fno-rtti -fno-exceptions LNKFLAGS = -mdll -s -nostartfiles -L $(COMMON) -lCRT OBJS = $(patsubst %.cpp,$(OBJDIR)/%.o,$(filter %.cpp,$(SRCS))) $(OBJDIR)/$(NAME).res.o DEPS = $(patsubst %.cpp,$(OBJDIR)/%.d,$(filter %.cpp,$(SRCS))) MAP = $(patsubst %.dll,%.map,$(DLLFULLNAME)) all: crt $(DLLFULLNAME) crt: $(MAKE) -C $(COMMON)/CRT -f makefile_lib_gcc $(OBJDIR)/%.d: %.cpp @echo making depends for $< @$(MKDIR) -p $(@D) @$(SHELL) -ec '$(CXX) -c -MM $(CXXFLAGS) $< \ | sed '\''s/\($*\)\.o[ :]*/$(REOBJDIR)\1.o $(REOBJDIR)\1.d: /g'\'' > $@; [ -s $@ ] || $(RM) $@' $(OBJDIR)/%.o: %.cpp @echo compiling $< @$(MKDIR) -p $(@D) @$(CXX) $(CXXFLAGS) -c -o $@ $< $(OBJDIR)/$(NAME).res.o: $(NAME).rc $(COMINC)/farversion.hpp @$(MKDIR) -p $(@D) $(WINDRES) -I $(COMINC) -i $< -o $@ $(DLLFULLNAME): $(OBJS) $(DEF) @echo linking $@ @$(MKDIR) -p $(@D) @$(CXX) -mdll -o $(DLLNAME) -Xlinker --base-file -Xlinker $(DLLNAME).base $(OBJS) $(LNKFLAGS) @$(DLLTOOL) --dllname $(DLLNAME) --base-file $(DLLNAME).base --output-exp $(DLLNAME).exp --def $(DEF) @$(CXX) -mdll -o $(DLLNAME) $(OBJS) $(DLLNAME).exp $(LNKFLAGS) -Xlinker -Map -Xlinker $(MAP) @$(MV) $(DLLNAME) $(DLLDIR) @$(RM) $(DLLNAME).base @$(RM) $(DLLNAME).exp @$(CP) *.hlf $(DLLDIR) @$(CP) *.lng $(DLLDIR) -include $(DEPS)