5 # Written by Keith Marshall <keithmarshall@users.sourceforge.net>
6 # Copyright (C) 2009, 2010, MinGW Project
9 # Makefile template for mingw-get
12 # This is free software. Permission is granted to copy, modify and
13 # redistribute this software, under the provisions of the GNU General
14 # Public License, Version 3, (or, at your option, any later version),
15 # as published by the Free Software Foundation; see the file COPYING
16 # for licensing details.
18 # Note, in particular, that this software is provided "as is", in the
19 # hope that it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not
20 # even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR ANY
21 # PARTICULAR PURPOSE. Under no circumstances will the author, or the
22 # MinGW Project, accept liability for any damages, however caused,
23 # arising from the use of this software.
27 VPATH = ${srcdir}/src ${srcdir}/src/pkginfo ${srcdir}/tinyxml
33 CPPFLAGS = @CPPFLAGS@ -D DEBUGLEVEL=$(DEBUGLEVEL) $(INCLUDES)
38 INCLUDES = -I ${srcdir}/src -I ${srcdir}/src/pkginfo -I ${srcdir}/tinyxml
49 LIBS = -Wl,-Bstatic -lz -lbz2 -llzma -Wl,-Bdynamic -lwininet
51 CORE_DLL_OBJECTS = climain.$(OBJEXT) \
52 pkgbind.$(OBJEXT) pkginet.$(OBJEXT) pkgstrm.$(OBJEXT) pkgname.$(OBJEXT) \
53 pkgexec.$(OBJEXT) pkgfind.$(OBJEXT) pkginfo.$(OBJEXT) pkgspec.$(OBJEXT) \
54 sysroot.$(OBJEXT) pkghash.$(OBJEXT) pkgkeys.$(OBJEXT) pkgdeps.$(OBJEXT) \
55 mkpath.$(OBJEXT) xmlfile.$(OBJEXT) keyword.$(OBJEXT) \
56 tinyxml.$(OBJEXT) tinyxmlparser.$(OBJEXT) \
57 tinystr.$(OBJEXT) tinyxmlerror.$(OBJEXT) \
58 vercmp.$(OBJEXT) dmh.$(OBJEXT)
61 $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
64 $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
66 all: pkginfo$(EXEEXT) mingw-get$(EXEEXT) mingw-get-0.dll
68 pkginfo$(EXEEXT): driver.$(OBJEXT) pkginfo.$(OBJEXT)
69 $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $+
71 mingw-get$(EXEEXT): clistub.$(OBJEXT) version.$(OBJEXT)
72 $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $+
74 mingw-get-0.dll: $(CORE_DLL_OBJECTS)
75 $(CXX) -shared -o $@ $(CXXFLAGS) $(LDFLAGS) $+ $(LIBS)
78 climain.$(OBJEXT): pkgbase.h pkgtask.h tinyxml.h tinystr.h dmh.h
79 sysroot.$(OBJEXT): pkgbase.h pkgkeys.h tinyxml.h tinystr.h mkpath.h dmh.h
81 pkgname.$(OBJEXT): pkgbase.h pkgkeys.h dmh.h
82 pkgfind.$(OBJEXT): pkgbase.h pkgkeys.h tinyxml.h tinystr.h
83 pkgbind.$(OBJEXT): pkgbase.h pkgkeys.h tinyxml.h tinystr.h dmh.h
84 pkgexec.$(OBJEXT): pkgbase.h pkgkeys.h pkgtask.h tinyxml.h tinystr.h mkpath.h dmh.h
85 pkgdeps.$(OBJEXT): pkgbase.h pkgkeys.h pkginfo.h pkgtask.h tinyxml.h tinystr.h dmh.h
86 pkgspec.$(OBJEXT): pkgbase.h pkgkeys.h pkginfo.h tinyxml.h tinystr.h vercmp.h
87 pkginet.$(OBJEXT): pkgbase.h pkgkeys.h pkgtask.h pkgstrm.h mkpath.h dmh.h
88 pkgstrm.$(OBJEXT): pkgstrm.h
90 # Dependencies for stand alone pkginfo tool;
91 # (the pkginfo object is also required by the core DLL)...
93 driver.$(OBJEXT): pkginfo.h
94 pkginfo.$(OBJEXT): pkginfo.l pkginfo.h
96 # TinyXML dependencies...
98 tinyxml.$(OBJEXT): tinyxml.h tinystr.h
99 tinyxmlerror.$(OBJEXT): tinyxml.h tinystr.h
100 tinyxmlparser.$(OBJEXT): tinyxml.h tinystr.h
101 tinystr.$(OBJEXT): tinystr.h
104 rm -f *.$(OBJEXT) *.dll pkginfo$(EXEEXT) mingw-get$(EXEEXT)
107 rm -f config.* version.c Makefile
109 # $RCSfile$: end of file