aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Makefile.mingw
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.mingw')
-rwxr-xr-xsrc/Makefile.mingw178
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