# flext - C++ layer for Max/MSP and pd (pure data) externals # Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net) # # ----- for internal use ---------------------- # !include config-pd-msvc.txt # source files SOURCE=source # includes INCPATH=/I$(MSVCPATH)\include /I$(PDPATH)\src /I$(SOURCE) !ifdef SNDOBJ INCPATH=$(INCPATH) /I$(SNDOBJ) !endif # compiler definitions and flags DEFS=/DPD /DNT CFLAGS=/GR /GD /G6 OFLAGS=/Ox DFLAGS=/Od /Zi TARGET=pdwin # appendix to lib name !ifdef FLEXT_THREADS DEFS=$(DEFS) /DFLEXT_THREADS !ifndef _DEBUG CFLAGS=$(CFLAGS) $(OFLAGS) /MT OBJPATH=t !else CFLAGS=$(CFLAGS) $(DFLAGS) /MTd OBJPATH=td !endif !else !ifndef _DEBUG CFLAGS=$(CFLAGS) $(OFLAGS) /ML OBJPATH=s !else CFLAGS=$(CFLAGS) $(DFLAGS) /MLd OBJPATH=sd !endif !endif # the rest can stay untouched # ---------------------------------------------- # all the source files from the package !include make-files.txt !ifdef SNDOBJ SRCS=$(SRCS) flsndobj.cpp HDRS=$(HDRS) flsndobj.h !endif #default target all: $(OUTPATH)\$(NAME)-$(TARGET).lib # remove build clean: -cd $(OUTPATH) -del /s /q $(OBJPATH) > nul -rmdir $(OBJPATH) -cd .. -del /q $(OUTPATH)\$(NAME)-$(TARGET).lib > nul -rmdir $(OUTPATH) # ----------------------------------------------- OBJS= $(SRCS:.cpp=.obj) {$(SOURCE)\}.cpp.obj: @-if not exist $(OUTPATH) mkdir $(OUTPATH) @cd $(OUTPATH) @-if not exist $(OBJPATH) mkdir $(OBJPATH) @cd .. cl /c $(CFLAGS) $(DEFS) $(INCPATH) /Fo$(OUTPATH)\$(OBJPATH)\$@ $< $(OUTPATH)\$(NAME)-$(TARGET).lib: $(OBJS) @cd $(OUTPATH)\$(OBJPATH) lib /OUT:..\$(NAME)-$(TARGET).lib $** @cd ..\.. !ifdef INSTALL !if "$(INSTALL)" == "yes" @-if not exist $(OBJPATH) mkdir $(INSTDIR) copy $(OUTPATH)\$(NAME)-$(TARGET).lib $(INSTDIR) > nul copy $(SOURCE)\*.h $(INSTDIR) > nul !endif !endif