# $Id: makefile.gcc,v 1.6 2000-05-23 18:23:04 bird Exp $ # # PD-Win32 API # # Tools common library, GCC version. # # # # If OMF flag isn't set, set it to default value. # !ifndef OMF OMF=0 !endif # # Directories and common tools. # PDWIN32_INCLUDE = ..\..\include PDWIN32_BIN = ..\..\bin\$(OBJDIR) PDWIN32_LIB = ..\..\lib PDWIN32_TOOLS = ..\bin PDWIN32_TCOMMON = ..\common !include $(PDWIN32_INCLUDE)\pdwin32.tools # Definitions for pdwin32.post LOCALCLEAN = 1 CLEANEXTRAS = commongcc.* # # gcc defines # CC = gcc CXX = gcc LD = gcc !ifdef DEBUG OBJDIR = .\bin\debug !else OBJDIR = .\bin\release !endif !if $(OMF) == 0 # aout version O = o LIB = a AR = ar CFZOMF = !else # OMF version O = gobj LIB = lib AR = emxomfar CFZOMF = -Zomf !endif CDEFINES = -D__WIN32OS2__ -D__WINE__ CINCLUDES = -I$(PDWIN32_INCLUDE)\Win -I$(PDWIN32_INCLUDE) CPLUS_INCLUDE_PATH= $(CPLUS_INCLUDE_PATH);$(INCLUDE) # Note: Add -fhandle-exceptions if old gcc version (< 2.8.x?). !ifndef DEBUG CFLAGS = $(CFZOMF) -Wall -Zmap -Zmt -mprobe -Wall -s -O !else CFLAGS = $(CFZOMF) -Wall -Zmap -Zmt -mprobe -Wall -g !endif CXXFLAGS = $(CFLAGS) # # Interference rules # .c{$(OBJDIR)}.$(O): $(CC) -c $(CFLAGS) $(CDEFINES) $(CINCLUDES) $< -o $@ .cpp{$(OBJDIR)}.$(O): $(CXX) -c $(CXXFLAGS) $(CDEFINES) $(CINCLUDES) $< -o $@ # # Object files. # OBJS = \ $(OBJDIR)\kFilePe.$(O) \ $(OBJDIR)\kFileDef.$(O) \ $(OBJDIR)\kFileLx.$(O) \ $(OBJDIR)\kFileFormatBase.$(O)\ $(OBJDIR)\kFile.$(O) # # All rule. # all: $(OBJDIR) \ commongcc.$(LIB) $(OBJDIR)\commongcc.$(LIB): $(OBJS) $(RM) $@ $(AR) cr $@ $(OBJS) commongcc.$(LIB): $(OBJDIR)\commongcc.$(LIB) $(CP) $** $@ # # dependent rule. forward to main makefile. # dep: @$(MAKE) /nologo -f makefile NODEP=1 dep # Includes the common rules. !include $(PDWIN32_INCLUDE)/pdwin32.post