summaryrefslogtreecommitdiff
path: root/ghc/mkworld/macros-ghc.jm
blob: bbe0bca85ed5b003bee9884997c717c1c933c3ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* ToDo: cmp -> $(CMP) */

#ifndef UgenTarget
#define UgenTarget(dir,fileroot)					@@\
ExtraStuffToBeVeryClean(dir/fileroot.c dir/fileroot.h dir/fileroot.hs)		@@\
dir/fileroot.c dir/CAT3(U_,fileroot,.hs): dir/fileroot.ugn						@@\
	$(RM) dir/fileroot.c dir/fileroot.hs dir/CAT3(U_,fileroot,.hs) dir/fileroot.h-SAVE 	@@\
	if [ -f dir/fileroot.h ] ; then $(MV) -f dir/fileroot.h dir/fileroot.h-SAVE ; else exit 0 ; fi @@\
	$(UGEN) dir/fileroot.ugn || ( $(RM) dir/fileroot.h dir/fileroot.c dir/fileroot.hs; $(MV) -f dir/fileroot.h-SAVE dir/fileroot.h )						@@\
	if cmp -s dir/fileroot.h-SAVE dir/fileroot.h ; then \			@@\
	    $(MV) -f dir/fileroot.h-SAVE dir/fileroot.h ; \			@@\
	else \									@@\
	    chmod 444 dir/fileroot.h dir/fileroot.c dir/fileroot.hs ; \		@@\
	fi									@@\
	@$(RM) dir/fileroot.h-SAVE						@@\
	$(MV) -f dir/fileroot.hs dir/CAT3(U_,fileroot,.hs)			@@\
										@@\
dir/fileroot.h : dir/fileroot.c							@@\
	@: /* no-op */
#endif /* UgenTarget */