Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > cb5625aca3e4def202f3617de4d26932 > files > 65

c2hs-0.9.9-2mdk.i586.rpm

ifeq ($(strip $(shell pwd | grep build)),)
  *** If you get an error here, 
  *** you did not execute make in the *build* tree (but somewhere else)!
endif


HC     = ghc
HCFLAGS= -package lang -fglasgow-exts -i../lib -L../lib -lc2hs
C2HS   = ../c2hs

PRGMS = simple calls enums pointer structs marsh

default: tests

# builds

simple: Simple.chs simple.h simple.c
	$(C2HS) simple.h Simple.chs
	$(HC) -c Simple.hs $(HCFLAGS)
	$(CC) -c simple.c
	$(HC) -o simple simple.o Simple.o

calls: Calls.chs calls.h
	$(C2HS) calls.h Calls.chs
	$(HC) -c Calls.hs -#include\"calls.h\" $(HCFLAGS)

enums: Enums.chs enums.h
	$(C2HS) enums.h Enums.chs
	$(HC) -o enums Enums.hs -#include\"enums.h\" $(HCFLAGS)

pointer: Pointer.chs pointer.h pointer.c
	$(C2HS) pointer.h Pointer.chs
	$(CC) -c pointer.c
	$(HC) -o pointer Pointer.hs -#include\"pointer.h\" $(HCFLAGS)

structs: Structs.chs structs.h structs.c
	$(C2HS) structs.h Structs.chs
	$(HC) -c Structs.hs -#include\"structs.h\" $(HCFLAGS)
	$(CC) -c structs.c
	$(HC) -o structs structs.o Structs.o $(HCFLAGS)

marsh: Marsh.chs marsh.h
	$(C2HS) marsh.h Marsh.chs
	$(HC) -o marsh Marsh.hs -#include\"marsh.h\" $(HCFLAGS)

# runs

.PHONY: tests simple.run calls.build enums.run pointer.run structs.run\
	marsh.run

tests: simple.run calls.build enums.run pointer.run structs.run marsh.run

simple.run: simple
	@echo "---=== Output of \`simple'":
	@./simple
	@echo "---=== End of Output"

calls.build: calls
	@echo "---=== Binding for \`calls'":
	@cat Calls.hs
	@echo "---=== End of Binding"

enums.run: enums
	@echo "---=== Output for \`enums'":
	@./enums
	@echo "---=== End of Output"

structs.run: structs
	@echo "---=== Output for \`structs'":
	@./structs
	@echo "---=== End of Output"

marsh.run: marsh
	@echo "---=== Output for \`marsh'":
	@./marsh
	@echo "---=== End of Output"

# misc

clean:
	-rm -f *.o *.hi *.hs $(PRGMS)