# lib/Makefile.w32 - Makefile for W32 port. # Copyright (C) 1995 - 2009 Michael Riepe # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # @(#) $Id: Makefile.w32,v 1.3 2009/11/01 13:04:19 michael Exp $ instroot = prefix = exec_prefix = libdir = includedir = installdirs = $(libdir) $(includedir) $(includedir)/libelf CC = cl /nologo LD = link /nologo AR = MV = RM = del LN_S = RANLIB = INSTALL = INSTALL_DATA = INSTALL_PROGRAM = CFLAGS = /O2 /W2 /TC /MD CPPFLAGS = DEFS = /DHAVE_CONFIG_H LDFLAGS = LIBS = DEPSHLIBS = DO_SHLIB = PICFLAGS = SHLIB_SFX = .dll SHLINK_SFX = SONAME_SFX = LINK_SHLIB = $(LD) /DLL $(LDFLAGS) SHLIB = libelf$(SHLIB_SFX) SHLINK = libelf$(SHLINK_SFX) SONAME = libelf$(SONAME_SFX) # install includes in includedir? DO_COMPAT = INCLUDES = /I. COMPILE = $(CC) /c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) # no user serviceable parts below PACKAGE = libelf VERSION = 0.8.9 MAJOR = 0 SHELL = /bin/sh srcdir = . top_srcdir = .. topdir = .. subdir = lib .SUFFIXES: .SUFFIXES: .obj .c .c.obj: $(COMPILE) $< # generic sources SRCS1 = begin.c cntl.c end.c errmsg.c errno.c fill.c flag.c getarhdr.c \ getarsym.c getbase.c getdata.c getident.c getscn.c hash.c kind.c \ ndxscn.c newdata.c newscn.c next.c nextscn.c rand.c rawdata.c \ rawfile.c strptr.c update.c version.c checksum.c getaroff.c OBJS1 = $(SRCS1:.c=.obj) # 32-bit sources SRCS2 = 32.fsize.c 32.getehdr.c 32.getphdr.c 32.getshdr.c 32.newehdr.c \ 32.newphdr.c 32.xlatetof.c OBJS2 = $(SRCS2:.c=.obj) # support SRCS3 = cook.c data.c input.c assert.c OBJS3 = $(SRCS3:.c=.obj) # nlist SRCS4 = nlist.c OBJS4 = $(SRCS4:.c=.obj) # opt SRCS5 = opt.delscn.c x.remscn.c x.movscn.c x.elfext.c OBJS5 = $(SRCS5:.c=.obj) # 64-bit sources SRCS64 = 64.xlatetof.c gelfehdr.c gelfphdr.c gelfshdr.c gelftrans.c swap64.c OBJS64 = $(SRCS64:.c=.obj) # Versioning sources SRCS_V = verdef_32_tof.c verdef_32_tom.c verdef_64_tof.c verdef_64_tom.c OBJS_V = $(SRCS_V:.c=.obj) HDRS_V = verdef.h verneed.h SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4) $(SRCS5) $(SRCS64) $(SRCS_V) OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) $(OBJS64) $(OBJS_V) # missing functions LIBSRCS = memset.c LIBOBJS = # public header files HDRS = libelf.h nlist.h gelf.h # public header files (created by configure) AUXHDRS = sys_elf.h # private header files PRIVHDRS = byteswap.h errors.h ext_types.h private.h elf_repl.h $(HDRS_V) DISTFILES = $(SRCS) $(LIBSRCS) $(HDRS) $(PRIVHDRS) Makefile.in sys_elf.h.in all: $(OBJS) $(SHLIB) check: $(SHLIB): libelf.def $(OBJS) $(LIBOBJS) -@$(RM) $(SHLIB) $(LINK_SHLIB) /OUT:"$(SHLIB)" /DEF:"libelf.def" $(OBJS) $(LIBOBJS) kernel32.lib install: mostlyclean: -$(RM) *.obj -$(RM) $(SHLIB) -$(RM) libelf.lib -$(RM) libelf.exp clean: mostlyclean distclean: clean -$(RM) $(AUXHDRS) maintainer-clean: distclean # dependencies $(OBJS): private.h config.h libelf.h gelf.h errors.h $(AUXHDRS) 32.fsize.obj: ext_types.h 32.xlatetof.obj: byteswap.h ext_types.h 64.xlatetof.obj: byteswap.h ext_types.h getarsym.obj: byteswap.h memset.obj: config.h nlist.obj: nlist.h swap64.obj: byteswap.h $(OBJS_V): byteswap.h ext_types.h $(HDRS_V)