1 # 2 # MacOs glib-lite Makefile 3 # 4 5 BUILD_DIR = $(OUTPUT_DIR)/$(BUILD_TYPE) 6 TARGET_DIRS = $(BUILD_DIR) 7 8 SRCBASE_DIR = ../../../3rd_party/glib/glib-2.28.8/ 9 OBJBASE_DIR = $(BUILD_DIR)/obj/glib-lite 10 11 DIRLIST = glib \ 12 glib/libcharset/ \ 13 glib/gnulib/ \ 14 gobject/ \ 15 gthread/ \ 16 gmodule/ 17 18 TARGET_NAME = lib$(BASE_NAME).dylib 19 TARGET = $(BUILD_DIR)/$(TARGET_NAME) 20 21 CFLAGS = -arch x86_64 \ 22 -fPIC \ 23 -Werror=implicit-function-declaration \ 24 -DG_DISABLE_CAST_CHECKS \ 25 -DGLIB_COMPILATION \ 26 -DGOBJECT_COMPILATION \ 27 -DLIBDIR=\"/irrelevant/lib\" \ 28 -DG_LOG_DOMAIN=\"GLib\" \ 29 -DGSTREAMER_LITE \ 30 -DG_DISABLE_DEPRECATED \ 31 -DG_DISABLE_ASSERT \ 32 -mmacosx-version-min=10.7 33 34 ifeq ($(BUILD_TYPE), Release) 35 CFLAGS += -Os 36 else 37 CFLAGS += -O0 -g -Wall 38 endif 39 40 INCLUDES = -I$(SRCBASE_DIR) \ 41 -I$(SRCBASE_DIR)/glib \ 42 -I$(SRCBASE_DIR)/build/osx 43 44 LDFLAGS = -mmacosx-version-min=10.7 -arch x86_64 \ 45 -Wl,-install_name,@rpath/$(TARGET_NAME) -Wl,-framework -Wl,CoreServices -liconv 46 47 C_SOURCES = glib/garray.c \ 48 glib/gasyncqueue.c \ 49 glib/gatomic.c \ 50 glib/gbacktrace.c \ 51 glib/gbase64.c \ 52 glib/gbookmarkfile.c \ 53 glib/gbitlock.c \ 54 glib/gbuffer.c \ 55 glib/gcache.c \ 56 glib/gchecksum.c \ 57 glib/gcompletion.c \ 58 glib/gconvert.c \ 59 glib/gdataset.c \ 60 glib/gdate.c \ 61 glib/gdatetime.c \ 62 glib/gdir.c \ 63 glib/gerror.c \ 64 glib/gfileutils.c \ 65 glib/ghash.c \ 66 glib/ghook.c \ 67 glib/giochannel.c \ 68 glib/giounix.c \ 69 glib/gkeyfile.c \ 70 glib/glist.c \ 71 glib/gmain.c \ 72 glib/gmappedfile.c \ 73 glib/gmarkup.c \ 74 glib/gmem.c \ 75 glib/gmessages.c \ 76 glib/gnode.c \ 77 glib/goption.c \ 78 glib/gpattern.c \ 79 glib/gpoll.c \ 80 glib/gprimes.c \ 81 glib/gprintf.c \ 82 glib/gqsort.c \ 83 glib/gqueue.c \ 84 glib/grand.c \ 85 glib/grel.c \ 86 glib/gscanner.c \ 87 glib/gsequence.c \ 88 glib/gshell.c \ 89 glib/gspawn.c \ 90 glib/gslice.c \ 91 glib/gslist.c \ 92 glib/gstdio.c \ 93 glib/gstrfuncs.c \ 94 glib/gstring.c \ 95 glib/gtestutils.c \ 96 glib/gthread.c \ 97 glib/gthreadpool.c \ 98 glib/gtimer.c \ 99 glib/gtimezone.c \ 100 glib/gtree.c \ 101 glib/gunibreak.c \ 102 glib/gunidecomp.c \ 103 glib/guniprop.c \ 104 glib/gurifuncs.c \ 105 glib/gutf8.c \ 106 glib/gutils.c \ 107 glib/ghostutils.c \ 108 glib/gvarianttype.c \ 109 glib/gvariant.c \ 110 glib/gvariant-core.c \ 111 glib/gvariant-serialiser.c \ 112 glib/gvarianttypeinfo.c \ 113 glib/libcharset/localcharset.c \ 114 glib/gnulib/asnprintf.c \ 115 glib/gnulib/printf-args.c \ 116 glib/gnulib/printf-parse.c \ 117 glib/gnulib/printf.c \ 118 glib/gnulib/vasnprintf.c \ 119 gobject/gatomicarray.c \ 120 gobject/gboxed.c \ 121 gobject/gclosure.c \ 122 gobject/genums.c \ 123 gobject/gobject.c \ 124 gobject/gparam.c \ 125 gobject/gparamspecs.c \ 126 gobject/gsignal.c \ 127 gobject/gsourceclosure.c \ 128 gobject/gtype.c \ 129 gobject/gtypemodule.c \ 130 gobject/gtypeplugin.c \ 131 gobject/gvalue.c \ 132 gobject/gvaluearray.c \ 133 gobject/gvaluetransform.c \ 134 gobject/gvaluetypes.c \ 135 gthread/gthread-impl.c \ 136 gmodule/gmodule.c 137 138 OBJ_DIRS = $(addprefix $(OBJBASE_DIR)/,$(DIRLIST)) 139 OBJECTS = $(patsubst %.c,$(OBJBASE_DIR)/%.o,$(C_SOURCES)) 140 141 .PHONY: default 142 143 default: $(TARGET) 144 145 $(OBJBASE_DIR)/%.o: $(SRCBASE_DIR)/%.c 146 $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ 147 148 $(OBJECTS): | $(OBJ_DIRS) $(TARGET_DIRS) 149 150 $(OBJ_DIRS): 151 mkdir -p $(OBJ_DIRS) 152 153 $(TARGET_DIRS): 154 mkdir -p $(TARGET_DIRS) 155 156 $(TARGET): $(OBJECTS) 157 $(CC) -dynamiclib $(OBJECTS) $(LDFLAGS) -o $@