118 строки
3.0 KiB
Makefile
118 строки
3.0 KiB
Makefile
# GNU Make project makefile autogenerated by Premake
|
|
|
|
ifndef config
|
|
config=release
|
|
endif
|
|
|
|
ifndef verbose
|
|
SILENT = @
|
|
endif
|
|
|
|
.PHONY: clean prebuild prelink
|
|
|
|
ifeq ($(config),release)
|
|
RESCOMP = windres
|
|
TARGETDIR = .
|
|
TARGET = $(TARGETDIR)/libBasic.ObjC.dylib
|
|
OBJDIR = obj
|
|
DEFINES += -DNDEBUG -DMONO_DLL_IMPORT -DMONO_M2N_DLL_EXPORT
|
|
INCLUDES += -I../../support -I/Library/Frameworks/Mono.framework/Versions/Current/include/mono-2.0
|
|
FORCE_INCLUDE +=
|
|
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
|
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O2 -fPIC -stdlib=libc++ -fpermissive -std=c++11
|
|
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CFLAGS)
|
|
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
|
|
LIBS += -lc++ -lobjc -lmonosgen-2.0 -framework CoreFoundation
|
|
LDDEPS +=
|
|
ALL_LDFLAGS += $(LDFLAGS) -L/Library/Frameworks/Mono.framework/Versions/Current/lib -dynamiclib -Wl,-install_name,@rpath/libBasic.ObjC.dylib -Wl,-x
|
|
LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
|
|
define PREBUILDCMDS
|
|
endef
|
|
define PRELINKCMDS
|
|
endef
|
|
define POSTBUILDCMDS
|
|
endef
|
|
all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
|
|
@:
|
|
|
|
endif
|
|
|
|
OBJECTS := \
|
|
$(OBJDIR)/Basic.Managed.o \
|
|
$(OBJDIR)/glib.o \
|
|
$(OBJDIR)/main.o \
|
|
$(OBJDIR)/mono_embeddinator.o \
|
|
|
|
RESOURCES := \
|
|
|
|
CUSTOMFILES := \
|
|
|
|
SHELLTYPE := msdos
|
|
ifeq (,$(ComSpec)$(COMSPEC))
|
|
SHELLTYPE := posix
|
|
endif
|
|
ifeq (/bin,$(findstring /bin,$(SHELL)))
|
|
SHELLTYPE := posix
|
|
endif
|
|
|
|
$(TARGET): $(GCH) ${CUSTOMFILES} $(OBJECTS) $(LDDEPS) $(RESOURCES)
|
|
@echo Linking Basic.ObjC
|
|
$(SILENT) $(LINKCMD)
|
|
$(POSTBUILDCMDS)
|
|
|
|
$(TARGETDIR):
|
|
@echo Creating $(TARGETDIR)
|
|
ifeq (posix,$(SHELLTYPE))
|
|
$(SILENT) mkdir -p $(TARGETDIR)
|
|
else
|
|
$(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
|
|
endif
|
|
|
|
$(OBJDIR):
|
|
@echo Creating $(OBJDIR)
|
|
ifeq (posix,$(SHELLTYPE))
|
|
$(SILENT) mkdir -p $(OBJDIR)
|
|
else
|
|
$(SILENT) mkdir $(subst /,\\,$(OBJDIR))
|
|
endif
|
|
|
|
clean:
|
|
@echo Cleaning Basic.ObjC
|
|
ifeq (posix,$(SHELLTYPE))
|
|
$(SILENT) rm -f $(TARGET)
|
|
$(SILENT) rm -rf $(OBJDIR)
|
|
else
|
|
$(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
|
|
$(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
|
|
endif
|
|
|
|
prebuild:
|
|
$(PREBUILDCMDS)
|
|
|
|
prelink:
|
|
$(PRELINKCMDS)
|
|
|
|
ifneq (,$(PCH))
|
|
$(OBJECTS): $(GCH) $(PCH)
|
|
$(GCH): $(PCH)
|
|
@echo $(notdir $<)
|
|
$(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
|
|
endif
|
|
|
|
$(OBJDIR)/Basic.Managed.o: objc/Basic.Managed.mm
|
|
@echo $(notdir $<)
|
|
$(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
|
$(OBJDIR)/glib.o: ../../support/glib.c
|
|
@echo $(notdir $<)
|
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
|
$(OBJDIR)/main.o: ../../support/main.c
|
|
@echo $(notdir $<)
|
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
|
$(OBJDIR)/mono_embeddinator.o: ../../support/mono_embeddinator.c
|
|
@echo $(notdir $<)
|
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
|
|
|
-include $(OBJECTS:%.o=%.d)
|
|
ifneq (,$(PCH))
|
|
-include $(OBJDIR)/$(notdir $(PCH)).d
|
|
endif |