From: Axel S. <as...@us...> - 2004-11-28 20:52:24
|
Update of /cvsroot/gtk2hs/gtk2hs/mk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24106/mk Modified Files: common.mk Removed Files: application.mk config.mk.in library.mk recurse.mk Log Message: Better dependency calculation. GHC packages on install. --- recurse.mk DELETED --- Index: common.mk =================================================================== RCS file: /cvsroot/gtk2hs/gtk2hs/mk/common.mk,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- common.mk 21 Nov 2004 20:54:59 -0000 1.35 +++ common.mk 28 Nov 2004 20:51:44 -0000 1.36 @@ -3,8 +3,9 @@ # A file with CPP "defines" that reflect the current configuration. CONFIG_H = config.h -EMPTY = -SPACE = $(EMPTY) $(EMPTY) +EMPTY := +SPACE := $(EMPTY) $(EMPTY) +COMMA := , VPATH = $(subst $(SPACE),:,$(strip \ $(if $(subst .,,$(srcdir)),$(addprefix $(srcdir)/,$(SOURCEDIRS)), \ $(SOURCEDIRS)))) @@ -14,53 +15,70 @@ $(AM_LDFLAGS) $($(NAME)_EXTRA_LDFLAGS) $($(NAME)_LDFLAGS)) .hs.o: $(CONFIG_H) + @echo Building for $(NAME) $(strip $(HC) -c $< -o $@ $($(NAME)_HCFLAGS) -i$(VPATH) \ $(addprefix -package ,$($(NAME)_PACKAGEDEPS)) \ $(addprefix -package-name ,$($(NAME)_PACKAGE)) \ $(addprefix '-\#include<,$(addsuffix >',$(CONFIG_H) \ $($(NAME)_HEADER))) \ - $(AM_CPPFLAGS) $(EXTRA_CPPFLAGS) $(CPPFLAGS)) + $(AM_CPPFLAGS) $($(NAME)_CPPFLAGS)) .DELETE_ON_ERROR : %.deps %.deps : - touch $@ - $(if $($*_BUILDSOURCES),$(strip \ - $(MAKE) $(AM_MAKEFLAGS) NAME="$*" $($*_BUILDSOURCES) \ - &&))\ - $(strip $(HC) -M $(addprefix -optdep,-f $*.deps) \ - $($*_HCFLAGS) -i$(VPATH) \ - $(addprefix -package ,$($*_PACKAGEDEPS)) \ + @echo Checking if deps up to date for $@ + $(strip if test -f $@; then touch $@; else \ + touch $@; $(MAKE) $(AM_MAKEFLAGS) NAME="$*" depend; fi;) + +.PHONY: depend + +depend: $($(NAME)_BUILDSOURCES) + $(strip $(if $($(NAME)_BUILDSOURCES),\ + $(HC) -M $(addprefix -optdep,-f $(NAME).deps) \ + $($(NAME)_HCFLAGS) -i$(VPATH) \ + $(addprefix -package ,$($(NAME)_PACKAGEDEPS)) \ $(addprefix '-\#include<,$(addsuffix >',$(CONFIG_H) \ - $($*_HEADER))) \ + $($(NAME)_HEADER))) \ $(AM_CPPFLAGS) $(EXTRA_CPPFLAGS) $(CPPFLAGS) \ - $($*_HSFILES)) + $($(NAME)_HSFILES))) .chs.dep : - @if test -f $@; then touch $@; else $(CHSDEPEND) -i$(VPATH) $<; fi; + $(CHSDEPEND) -i$(VPATH) $< +.hs.chi : + @: .o.hi: @: +# The cheeky rule for .hi files says that .hi files can be created as +# side-effect of generating a .o file. Make sure the .hi files are not +# deleted as normal intermediate files are. +.PRECIOUS: %.hi + +# Same for .chi +.PRECIOUS: %.chi + HSTOOLFLAGS = -H500m .PHONY: debug debug : @echo VPATH: $(VPATH) @echo dep files: $(gtk_libgtk2hs_a_CHSFILES_HS:.hs=.dep) + @echo $(gtk_libgtk2hs_a_HSFILES) + %.precomp : $(strip $(C2HS) $(C2HS_FLAGS) \ +RTS $(HSTOOLFLAGS) $(PROFFLAGS) -RTS \ - $(addprefix -C,$(CFLAGS) $(CPPFLAGS)) \ + $(addprefix -C,$($(NAME)_CFLAGS) $($(NAME)_CPPFLAGS)) \ --precomp=$($(NAME)_PRECOMP) $($(NAME)_HEADER)) .chs.pp.chs: $(CONFIG_H) + echo Preprocessing for $(NAME) $(strip $(HSCPP) $(AM_CPPFLAGS) \ - $(EXTRA_CPPFLAGS) $(CPPFLAGS) \ - $(EXTRA_CFLAGS) $(CFLAGS) \ - $(addprefix -include ,$(CONFIG_H) $($(NAME)_EXTRA_HFILES)) \ + $(if $(NAME),$($(NAME)_CPPFLAGS) $($(NAME)_CFLAGS),$(CPPFLAGS)) \ + $(addprefix -include ,$(CONFIG_H)) \ $< -o $@) .hsc.hs: $(CONFIG_H) @@ -68,13 +86,14 @@ $(addprefix -L-optl,\ $(AM_LDFLAGS) $($(NAME)_EXTRA_LIBS) $($(NAME)_LIBS)) \ $(addprefix -C, $(filter-out -I%,$(AM_CPPFLAGS)) \ - $(EXTRA_CFLAGS) $(CFLAGS))\ + $($(NAME)_CFLAGS))\ $(filter -I%,$(AM_CPPFLAGS)) \ - $(EXTRA_CPPFLAGS) $(CPPFLAGS)\ + $($(NAME)_CPPFLAGS)\ --include $(CONFIG_H) \ --cc=$(HC) --lflag=-no-hs-main $<) .chs.hs: + @echo Building .hs file for $(NAME) $(if $(subst no,,$(BUILT_IN_C2HS)),$(strip \ if test -x $(C2HS); then :; else \ $(MAKE) $(AM_MAKEFLAGS) NAME="tools_c2hs_c2hsLocal" \ @@ -87,3 +106,25 @@ $(CHSDEPEND) -i$(VPATH) $< +# installation of packages + +getVar = $($(subst .,_,$(subst /,_,$(1)))_$(2)) + +install-data-hook : + $(if $(PKGCONF),if test -f $(PKGCONF); then :; \ + else echo "[]" > $(PKGCONF); fi;) + $(foreach pkgname,$(lib_LIBRARIES), \ + $(GHCPKG) $(addprefix -f ,$(PKGCONF)) -a -g \ + -Dprefix=$(prefix) -Dexec_prefix=$(exec_prefix) \ + -i $(call getVar,$(pkgname),PACKAGE)) + +uninstall-hook : + $(foreach pkgname,$(lib_LIBRARIES), \ + if test -f $(PKGCONF); then \ + $(GHCPKG) $(addprefix -f ,$(PKGCONF)) \ + -r $(patsubst lib%,%,$(basename $(notdir $(pkgname)))); \ + $(if $(PKGCONF),\ + if test -n `head $(PKGCONF) | $(GREP) -e "\[\]"`; then \ + $(RM) $(PKGCONF) $(PKGCONF).old; fi;) \ + fi;) + --- config.mk.in DELETED --- --- application.mk DELETED --- --- library.mk DELETED --- |