INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
-TARGETLIB_STATIC = ${TARGET_LIBNAME}.a
-TARGETLIB_SHARED = ${TARGET_LIBNAME}.so.${LIBVERSION_CURRENT}.${LIBVERSION_REVISION}.${LIBVERSION_AGE}
-TARGETLIB_LINK1 = ${TARGET_LIBNAME}.so.${LIBVERSION_CURRENT}
-TARGETLIB_LINK2 = ${TARGET_LIBNAME}.so
+TARGETLIB_STATIC = $(TARGET_LIBNAME).a
+TARGETLIB_SHARED = $(TARGET_LIBNAME).so.$(LIBVERSION_CURRENT).$(LIBVERSION_REVISION).$(LIBVERSION_AGE)
+TARGETLIB_LINK1 = $(TARGET_LIBNAME).so.$(LIBVERSION_CURRENT)
+TARGETLIB_LINK2 = $(TARGET_LIBNAME).so
TARGETLIB_SONAME = @WX_TARGET_LIBRARY_SONAME@
-# Clears all default suffixes
-.SUFFIXES: .o .cpp .c .cxx
+LDFLAGS_VERSIONING = @LDFLAGS_VERSIONING@
-.c.o :
- ${CCC} -c @DEP_INFO_FLAGS@ ${CFLAGS} ${PICFLAGS} -o $@ $<
+# NB: see remark in Makefile.in as to why we don't use %.foo: %.bar rules
+.SUFFIXES: .o .c .cpp .cxx
-.cpp.o :
- ${CC} -c @DEP_INFO_FLAGS@ ${CXXFLAGS} ${PICFLAGS} -o $@ $<
+.c.o:
+ $(CC) -c $(CFLAGS) $(PICFLAGS) -o $@ $<
-.cxx.o :
- ${CC} -c @DEP_INFO_FLAGS@ ${CXXFLAGS} ${PICFLAGS} -o $@ $<
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(PICFLAGS) -o $@ $<
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(PICFLAGS) -o $@ $<
# the comment at the end of the next line is needed because otherwise autoconf
# would remove this line completely - it contains a built-in hack to remove
# any VPATH assignment not containing ':'
-VPATH = @PATH_IFS@${top_srcdir}/${libsrc_dir} # ':' for autoconf
-
-include ${top_builddir}/src/make.env
+VPATH = @PATH_IFS@$(top_srcdir)/$(libsrc_dir) # ':' for autoconf
+include $(top_builddir)/src/make.env
all: libtype_@WX_TARGET_LIBRARY_TYPE@
-libtype_so: CREATE_LINKS
-
-libtype_a: ${TARGETLIB_STATIC}
-
+libtype_so: $(top_builddir)/lib/$(TARGETLIB_SHARED)
-${TARGETLIB_SHARED}: ${OBJECTS}
- @${INSTALL} -d ${top_builddir}/lib
- ${SHARED_LD} ${top_builddir}/lib/$@ ${TARGETLIB_SONAME} ${OBJECTS}
+libtype_a: $(top_builddir)/lib/$(TARGETLIB_STATIC)
-CREATE_LINKS: ${TARGETLIB_SHARED}
- cd ${top_builddir}/lib \
- && ${RM} ${TARGETLIB_LINK1} ${TARGETLIB_LINK2} \
- && ${LN_S} ${TARGETLIB_SHARED} ${TARGETLIB_LINK1} \
- && ${LN_S} ${TARGETLIB_SHARED} ${TARGETLIB_LINK2}
+$(top_builddir)/lib/$(TARGETLIB_SHARED): $(OBJECTS)
+ @$(INSTALL) -d $(top_builddir)/lib
+ $(SHARED_LD) $@ $(TARGETLIB_SONAME) $(OBJECTS) $(LDFLAGS_VERSIONING)
+ cd $(top_builddir)/lib \
+ && $(RM) $(TARGETLIB_LINK1) $(TARGETLIB_LINK2) \
+ && $(LN_S) $(TARGETLIB_SHARED) $(TARGETLIB_LINK1) \
+ && $(LN_S) $(TARGETLIB_SHARED) $(TARGETLIB_LINK2)
-${TARGETLIB_STATIC}: ${OBJECTS}
- @${INSTALL} -d ${top_builddir}/lib
- ar ${AROPTIONS} ${top_builddir}/lib/$@ ${OBJECTS}
- ${RANLIB} ${top_builddir}/lib/$@
+$(top_builddir)/lib/$(TARGETLIB_STATIC): $(OBJECTS)
+ @$(INSTALL) -d $(top_builddir)/lib
+ @$(RM) $@
+ $(AR) $(AROPTIONS) $@ $(OBJECTS)
+ $(RANLIB) $@
install: install_@WX_TARGET_LIBRARY_TYPE@ install_headers
install_so:
- ${INSTALL_PROGRAM} ${top_builddir}/lib/${TARGETLIB_SHARED} ${libdir}/${TARGETLIB_SHARED}
- @${RM} ${libdir}/${TARGETLIB_LINK1} ${libdir}/${TARGETLIB_LINK2}
- cd ${libdir} \
- && ${LN_S} ${TARGETLIB_SHARED} ${TARGETLIB_LINK1} \
- && ${LN_S} ${TARGETLIB_SHARED} ${TARGETLIB_LINK2}
+ $(INSTALL_PROGRAM) $(top_builddir)/lib/$(TARGETLIB_SHARED) $(libdir)/$(TARGETLIB_SHARED)
+ @$(RM) $(libdir)/$(TARGETLIB_LINK1) $(libdir)/$(TARGETLIB_LINK2)
+ cd $(libdir) \
+ && $(LN_S) $(TARGETLIB_SHARED) $(TARGETLIB_LINK1) \
+ && $(LN_S) $(TARGETLIB_SHARED) $(TARGETLIB_LINK2)
install_a:
- ${INSTALL_PROGRAM} ${top_builddir}/lib/${TARGETLIB_STATIC} ${libdir}/${TARGETLIB_STATIC}
+ $(INSTALL_PROGRAM) $(top_builddir)/lib/$(TARGETLIB_STATIC) $(libdir)/$(TARGETLIB_STATIC)
install_headers:
- ${INSTALL} -d ${includedir}/wx/${HEADER_SUBDIR}
- @for h in ${HEADERS}; do \
- ${INSTALL_DATA} ${HEADER_PATH}/${HEADER_SUBDIR}/$$h ${includedir}/wx/${HEADER_SUBDIR}/$$h; \
- echo "installing ${includedir}/wx/${HEADER_SUBDIR}/$$h"; \
+ $(INSTALL) -d $(includedir)/wx/$(HEADER_SUBDIR)
+ @for h in $(HEADERS); do \
+ $(INSTALL_DATA) $(HEADER_PATH)/$(HEADER_SUBDIR)/$$h $(includedir)/wx/$(HEADER_SUBDIR)/$$h; \
+ echo "installing $(includedir)/wx/$(HEADER_SUBDIR)/$$h"; \
done
uninstall:
- ${RM} ${libdir}/${TARGETLIB_STATIC}
- ${RM} ${libdir}/${TARGETLIB_SHARED}
- ${RM} ${libdir}/${TARGETLIB_LINK1}
- ${RM} ${libdir}/${TARGETLIB_LINK2}
+ $(RM) $(libdir)/$(TARGETLIB_STATIC)
+ $(RM) $(libdir)/$(TARGETLIB_SHARED)
+ $(RM) $(libdir)/$(TARGETLIB_LINK1)
+ $(RM) $(libdir)/$(TARGETLIB_LINK2)
@echo "removing headers"
- @for h in ${HEADERS}; do \
- ${RM} ${includedir}/wx/${HEADER_SUBDIR}/$$h; \
+ @for h in $(HEADERS); do \
+ $(RM) $(includedir)/wx/$(HEADER_SUBDIR)/$$h; \
done
- @if test -d ${includedir}/wx/${HEADER_SUBDIR}; then \
- rmdir ${includedir}/wx/${HEADER_SUBDIR}; \
+ @if test -d $(includedir)/wx/$(HEADER_SUBDIR); then \
+ rmdir $(includedir)/wx/$(HEADER_SUBDIR); \
fi
- @-rmdir ${includedir}/wx
+ @-rmdir $(includedir)/wx
clean:
- ${RM} ${OBJECTS} ${top_builddir}/lib/${TARGETLIB_SHARED} \
- ${top_builddir}/lib/${TARGETLIB_LINK1} \
- ${top_builddir}/lib/${TARGETLIB_LINK2} \
- ${top_builddir}/lib/${TARGETLIB_STATIC} core
+ $(RM) $(OBJECTS) $(top_builddir)/lib/$(TARGETLIB_SHARED) \
+ $(top_builddir)/lib/$(TARGETLIB_LINK1) \
+ $(top_builddir)/lib/$(TARGETLIB_LINK2) \
+ $(top_builddir)/lib/$(TARGETLIB_STATIC) core
-.PHONY: all shared static clean install install_static install_shared uninstall
+.PHONY: all libtype_so libtype_a install install_so install_a install_headers uninstall clean