mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-09-24 15:54:12 +00:00
233 lines
5.7 KiB
Text
233 lines
5.7 KiB
Text
|
###################################################################
|
|||
|
#
|
|||
|
## Makefile for building GeoIP stuff (Win32 version - gnu make)
|
|||
|
## To build the binaries you need awk, GNU make and MingW32 gcc
|
|||
|
## or Metrowerks CodeWarrior CommandlineTools.
|
|||
|
## Usage: make -f Makefile.win32 [all|dist|clean|distclean]
|
|||
|
##
|
|||
|
## hacked by: Guenter Knauf
|
|||
|
#
|
|||
|
###################################################################
|
|||
|
|
|||
|
# Edit the path below to point to your zlib sources and libs.
|
|||
|
ifndef ZLIBSDK
|
|||
|
ZLIBSDK = d:/projects/mingw32/zlib-1.2.3
|
|||
|
endif
|
|||
|
|
|||
|
ifndef DISTDIR
|
|||
|
DISTDIR = GeoIP-$(GEOIP_VERSION_STR)-bin-w32
|
|||
|
endif
|
|||
|
ARCHIVE = $(DISTDIR).zip
|
|||
|
|
|||
|
# Edit the vars below to change EXE target settings.
|
|||
|
TARGETS := $(patsubst apps/%.c,%.exe,$(wildcard apps/*.c))
|
|||
|
DESCR = $(subst .rc,,$(notdir $@)) $(GEOIP_VERSION_STR)
|
|||
|
COMPANY = MaxMind LLC
|
|||
|
COPYR = <20> 2003-2006 MaxMind LLC All Rights Reserved.
|
|||
|
WWWURL = http://www.maxmind.com/app/c
|
|||
|
LICENSE = Licensed under LGPL
|
|||
|
ICON = geoip.ico
|
|||
|
DATADIR = c:/GeoIP
|
|||
|
CONFDIR = c:/GeoIP
|
|||
|
|
|||
|
# Comment the line below if you dont want to link with the static libz.lib.
|
|||
|
LSTATIC = 1
|
|||
|
|
|||
|
# must be equal to DEBUG or NDEBUG
|
|||
|
DB = NDEBUG
|
|||
|
# DB = DEBUG
|
|||
|
# Optimization: -O<n> or debugging: -g
|
|||
|
ifeq ($(DB),NDEBUG)
|
|||
|
OPT = -O2
|
|||
|
OBJDIR = release
|
|||
|
else
|
|||
|
OPT = -g
|
|||
|
OBJDIR = debug
|
|||
|
endif
|
|||
|
OBJLIB = lib-$(OBJDIR)
|
|||
|
|
|||
|
# Include the version info retrieved from header.
|
|||
|
-include $(OBJDIR)/version.inc
|
|||
|
|
|||
|
# Global tools and toolflags used with all compilers.
|
|||
|
ZIP = zip -qzR9
|
|||
|
CP = cp -afv
|
|||
|
MV = mv -fv
|
|||
|
# RM = rm -f
|
|||
|
RE = reimp -d
|
|||
|
DLLTOOL = dlltool
|
|||
|
DTFLAGS = -k
|
|||
|
|
|||
|
# The following line defines your compiler.
|
|||
|
ifdef METROWERKS
|
|||
|
CC = mwcc
|
|||
|
else
|
|||
|
CC = gcc
|
|||
|
endif
|
|||
|
|
|||
|
# Global flags for all compilers
|
|||
|
CFLAGS = $(OPT) -D$(DB) -D_WIN32
|
|||
|
# -nostdinc
|
|||
|
CFLAGS += -DHAVE_STDINT_H
|
|||
|
CFLAGS += -DGEOIPDATADIR=\"$(DATADIR)\"
|
|||
|
CFLAGS += -DSYSCONFDIR=\"$(CONFDIR)\"
|
|||
|
|
|||
|
ifeq ($(CC),mwcc)
|
|||
|
LD = mwld
|
|||
|
LDFLAGS = -nostdlib
|
|||
|
LIBPATH = -lr "$(METROWERKS)/MSL" -lr "$(METROWERKS)/Win32-x86 Support/Libraries"
|
|||
|
CWLIBS = -lMSL_Runtime_x86.lib -lMSL_C_x86.lib -lMSL_Extras_x86.lib
|
|||
|
LDLIBS = -lkernel32.lib -luser32.lib $(CWLIBS)
|
|||
|
AR = mwld
|
|||
|
ARFLAGS = -type library -w nocmdline $(OBJDIR)/*.o -o
|
|||
|
LIBEXT = lib
|
|||
|
RC = mwwinrc
|
|||
|
CFLAGS += -nostdinc
|
|||
|
CFLAGS += -msgstyle gcc -gccinc -opt nointrinsics -proc 586
|
|||
|
CFLAGS += -relax_pointers
|
|||
|
#CFLAGS += -w on
|
|||
|
CFLAGS += -ir "$(METROWERKS)/MSL" -ir "$(METROWERKS)/Win32-x86 Support/Headers"
|
|||
|
else
|
|||
|
LD = gcc
|
|||
|
LDFLAGS = -s
|
|||
|
AR = ar
|
|||
|
ARFLAGS = -cq
|
|||
|
LIBEXT = a
|
|||
|
RC = windres
|
|||
|
RCFLAGS = -I rc -O coff -i
|
|||
|
CFLAGS += -Wall -Wno-unused # -Wno-format #-pedantic
|
|||
|
endif
|
|||
|
|
|||
|
INCLUDES += -I./libGeoIP
|
|||
|
INCLUDES += -I$(ZLIBSDK)
|
|||
|
CFLAGS += $(INCLUDES)
|
|||
|
|
|||
|
LDLIBS += -lwsock32
|
|||
|
LIBPATH += -L$(ZLIBSDK)
|
|||
|
ifdef LSTATIC
|
|||
|
LDLIBS += -lz
|
|||
|
else
|
|||
|
LDLIBS += -lzdll
|
|||
|
endif
|
|||
|
|
|||
|
ifeq ($(findstring linux,$(OSTYPE)),linux)
|
|||
|
DL = '
|
|||
|
#-include $(NDKBASE)/nlmconv/ncpfs.inc
|
|||
|
endif
|
|||
|
|
|||
|
vpath %.c ./apps ./libGeoIP
|
|||
|
|
|||
|
LIBOBJS = $(OBJLIB)/GeoIP.o $(OBJLIB)/GeoIPCity.o
|
|||
|
UPDOBJS = $(OBJLIB)/GeoIPUpdate.o $(OBJLIB)/md5.o
|
|||
|
LIBOBJS += $(UPDOBJS)
|
|||
|
|
|||
|
.PRECIOUS: $(OBJLIB)/%.o $(OBJDIR)/%.o $(OBJDIR)/%.rc
|
|||
|
|
|||
|
all: prebuild $(TARGETS)
|
|||
|
|
|||
|
prebuild: $(OBJLIB) $(OBJDIR) $(OBJDIR)/version.inc
|
|||
|
|
|||
|
dist: $(DISTDIR) all $(DISTDIR)/readme_bin.txt
|
|||
|
@$(CP) *.exe $(DISTDIR)
|
|||
|
@$(CP) Changelog $(DISTDIR)
|
|||
|
@$(CP) README $(DISTDIR)
|
|||
|
@$(CP) conf/GeoIP.conf.default $(DISTDIR)
|
|||
|
@$(CP) data/GeoIP.dat $(DISTDIR)
|
|||
|
@echo Creating $(ARCHIVE)
|
|||
|
@$(ZIP) $(ARCHIVE) $(DISTDIR)/* < $(DISTDIR)/readme_bin.txt
|
|||
|
|
|||
|
clean:
|
|||
|
-$(RM) -r $(OBJDIR) $(OBJLIB)
|
|||
|
-$(RM) $(TARGETS)
|
|||
|
|
|||
|
distclean:
|
|||
|
-$(RM) -r $(DISTDIR)
|
|||
|
-$(RM) $(ARCHIVE)
|
|||
|
|
|||
|
%.exe: $(OBJDIR)/%.res $(LIBOBJS) $(OBJDIR)/%.o
|
|||
|
@echo Linking $@
|
|||
|
@-$(RM) $@
|
|||
|
$(LD) $(LDFLAGS) -o $@ $^ $(LIBPATH) $(LDLIBS)
|
|||
|
# $(LD) $(LDFLAGS) $(LIBPATH) $(LIBFILES) -o $@ $^
|
|||
|
|
|||
|
$(DISTDIR):
|
|||
|
@mkdir $@
|
|||
|
|
|||
|
$(OBJDIR):
|
|||
|
@mkdir $@
|
|||
|
|
|||
|
$(OBJLIB):
|
|||
|
@mkdir $@
|
|||
|
|
|||
|
$(OBJDIR)/%.o: %.c
|
|||
|
# @echo Compiling $<
|
|||
|
$(CC) $(CFLAGS) -c $< -o $@
|
|||
|
|
|||
|
$(OBJLIB)/%.o: %.c
|
|||
|
# @echo Compiling $<
|
|||
|
$(CC) $(CFLAGS) -c $< -o $@
|
|||
|
|
|||
|
$(OBJDIR)/version.inc: configure.in $(OBJDIR)
|
|||
|
@echo Creating $@
|
|||
|
@awk -f get_ver.awk $< > $@
|
|||
|
|
|||
|
$(OBJDIR)/%.res: $(OBJDIR)/%.rc
|
|||
|
@echo Creating $@
|
|||
|
@$(RC) $(RCFLAGS) $< -o $@
|
|||
|
|
|||
|
$(OBJDIR)/%.rc: Makefile.win32
|
|||
|
@echo 1 VERSIONINFO > $@
|
|||
|
@echo FILEVERSION $(GEOIP_VERSION),0 >> $@
|
|||
|
@echo PRODUCTVERSION $(GEOIP_VERSION),0 >> $@
|
|||
|
@echo FILEFLAGSMASK 0x3fL >> $@
|
|||
|
@echo FILEOS 0x40004L >> $@
|
|||
|
@echo FILEFLAGS 0x0L >> $@
|
|||
|
@echo FILETYPE 0x1L >> $@
|
|||
|
@echo FILESUBTYPE 0x0L >> $@
|
|||
|
@echo BEGIN >> $@
|
|||
|
@echo BLOCK "StringFileInfo" >> $@
|
|||
|
@echo BEGIN >> $@
|
|||
|
@echo BLOCK "040904E4" >> $@
|
|||
|
@echo BEGIN >> $@
|
|||
|
@echo VALUE "LegalCopyright","$(COPYR)\0" >> $@
|
|||
|
ifdef COMPANY
|
|||
|
@echo VALUE "CompanyName","$(COMPANY)\0" >> $@
|
|||
|
endif
|
|||
|
ifdef LICENSE
|
|||
|
@echo VALUE "License","$(LICENSE)\0" >> $@
|
|||
|
endif
|
|||
|
@echo VALUE "ProductName","$(basename $(notdir $@))\0" >> $@
|
|||
|
@echo VALUE "ProductVersion","$(GEOIP_VERSION_STR)\0" >> $@
|
|||
|
@echo VALUE "FileDescription","$(DESCR)\0" >> $@
|
|||
|
@echo VALUE "FileVersion","$(GEOIP_VERSION_STR)\0" >> $@
|
|||
|
@echo VALUE "InternalName","$(basename $(notdir $@))\0" >> $@
|
|||
|
@echo VALUE "OriginalFilename","$(basename $(notdir $@)).exe\0" >> $@
|
|||
|
@echo VALUE "WWW","$(WWWURL)\0" >> $@
|
|||
|
@echo END >> $@
|
|||
|
@echo END >> $@
|
|||
|
@echo BLOCK "VarFileInfo" >> $@
|
|||
|
@echo BEGIN >> $@
|
|||
|
@echo VALUE "Translation", 0x409, 1252 >> $@
|
|||
|
@echo END >> $@
|
|||
|
@echo END >> $@
|
|||
|
ifdef ICON
|
|||
|
@echo 10 ICON DISCARDABLE "$(ICON)" >> $@
|
|||
|
endif
|
|||
|
|
|||
|
$(DISTDIR)/readme_bin.txt: Makefile.win32
|
|||
|
@echo Creating $@
|
|||
|
@echo $(DL)This is a binary distribution for Win32 platform.$(DL) > $@
|
|||
|
@echo $(DL)GeoIP version $(GEOIP_VERSION_STR)$(DL) >> $@
|
|||
|
ifndef LSTATIC
|
|||
|
@echo $(DL)These binaries depend on zlib1.dll in the search path!$(DL) >> $@
|
|||
|
endif
|
|||
|
@echo $(DL)Please download the complete GeoIP package for$(DL) >> $@
|
|||
|
@echo $(DL)any further documentation:$(DL) >> $@
|
|||
|
@echo $(DL)$(WWWURL)$(DL) >> $@
|
|||
|
|
|||
|
info:
|
|||
|
@echo Targets to build: $(TARGETS)
|
|||
|
|
|||
|
|
|||
|
|