diff options
Diffstat (limited to 'src/Makefile.mingw')
-rwxr-xr-x | src/Makefile.mingw | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/src/Makefile.mingw b/src/Makefile.mingw new file mode 100755 index 0000000..aede25d --- /dev/null +++ b/src/Makefile.mingw @@ -0,0 +1,178 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of EasyTAG +# + +# +# PATHS +# + +INCLUDE_DIR := . +EASYTAG_TOP := .. +EASYTAG_SRC := . +EASYTAG_INSTALL_DIR := $(EASYTAG_TOP)/win32-install-dir + +## +## VARIABLE DEFINITIONS +## + +CPP = g++ +CC = gcc.exe + +TARGET = easytag + +# Compiler and Linker Options + +CFLAGS += -g -O2 -mms-bitfields +DEFINES += -DHAVE_GTK -DHAVE_CONFIG_H +LDFLAGS = -mwindows + +WINDRES := windres + +## +## INCLUDE PATHS +## + +INCLUDE_PATHS = -I$(INCLUDE_DIR) \ + -I$(INCLUDE_DIR)/win32 \ + -I$(EASYTAG_TOP) \ + `pkg-config --cflags gtk+-2.0` \ + -I/local/include + + + +LIB_PATHS = `pkg-config --libs gtk+-2.0` \ + `pkg-config --libs vorbisfile` \ + -L$(EASYTAG_SRC) \ + -L/local/lib \ + -lflac \ + -lmp4v2 \ + -lid3 \ + -lid3tag \ + -liconv \ + -lstdc++ \ + -lz \ + -lwavpack \ + -lws2_32 + + +## +## SOURCES, OBJECTS +## + +RC_SRC = win32/easytag.rc + +DLL_C_SRC = about.c \ + ape_tag.c \ + bar.c \ + browser.c \ + charset.c \ + cddb.c \ + crc32.c \ + dlm.c \ + easytag.c \ + et_core.c \ + flac_header.c \ + flac_tag.c \ + id3_tag.c \ + id3v24_tag.c \ + id3lib/c_wrapper.c \ + libapetag/apetaglib.c \ + libapetag/info_mac.c \ + libapetag/info_mpc.c \ + libapetag/is_tag.c \ + libmpg123/common.c \ + libmpg123/dxhead.c \ + libmpg123/getbits.c \ + libmpg123/layer1.c \ + libmpg123/layer2.c \ + libmpg123/layer3.c \ + libmpg123/mpg123.c \ + log.c \ + misc.c \ + monkeyaudio_header.c \ + mp4_header.c \ + mp4_tag.c \ + mpeg_header.c \ + msgbox.c \ + musepack_header.c \ + ogg_header.c \ + ogg_tag.c \ + picture.c \ + prefs.c \ + scan.c \ + setting.c \ + vcedit.c \ + wavpack_header.c \ + wavpack_tag.c \ + win32/win32dep.c + +DLL_OBJECTS = $(DLL_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) + +EXE_C_SRC = win32/win_easytag.c + + + +EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) + + + +## +## LIBRARIES +## + + + +## +## RULES +## + +# How to make a C file +%.o: %.cpp + $(CPP) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ + + +# How to make a C file +%.o: %.c + $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ + +# How to make an RC file +%.o: %.rc + $(WINDRES) -i $< -o $@ + +## +## TARGET DEFINITIONS +## + +.PHONY: all clean + +all: $(TARGET).dll $(TARGET).exe + +install: all + cp $(EASYTAG_SRC)/easytag.exe $(EASYTAG_SRC)/easytag.dll $(EASYTAG_INSTALL_DIR) + strip -s $(EASYTAG_INSTALL_DIR)/easytag.* + +# +# BUILD DLL +# + +$(TARGET).lib $(TARGET).dll: $(DLL_OBJECTS) + $(CC) -shared $(DLL_OBJECTS) $(LIB_PATHS) $(DLL_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll + +# +# BUILD EXE +# + +$(TARGET).exe: $(TARGET.dll) $(EXE_OBJECTS) + $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(TARGET).exe + +## +## CLEAN RULES +## + +clean: + rm -rf $(DLL_OBJECTS) $(EXE_OBJECTS) + rm -rf $(TARGET).dll + rm -rf $(TARGET).lib + rm -rf $(TARGET).exe |