SampleGame = template IrrlichtHomePath = ~/Desktop/irrlicht HaskellHomePath = /usr/lib/ghc-6.12.1 USERCXXFLAGS = -O3 -ffast-math -Wno-deprecated -Wno-write-strings CPPFLAGS = -I$(IrrlichtHomePath)/include -I$(HaskellHomePath)/include -I/usr/X11R6/include CXXFLAGS = $(USERCXXFLAGS) LDFLAGS += -L$(IrrlichtHomePath)/lib/Linux -lIrrlicht -lGreenCard LDFLAGS += -lopengl32 -lm LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32 SYSTEM=Linux HASKLIB = -L$(HaskellHomePath) -lHSrts -L$(HaskellHomePath)/base-4.2.0.0 -lHSbase-4.2.0.0 TARGET = main main: $(SampleGame) aux_files $(SampleGame): $(SampleGame).hs irrlicht.hs irrlicht_interface_ffi.o irrlicht_interface.o IrrHaskell.hs rm -f $(SampleGame).o Irrlicht.o ghc --make $(SampleGame).hs -threaded -XViewPatterns -XNoMonomorphismRestriction -XTemplateHaskell -L$(IrrlichtHomePath)/lib/Linux -package greencard irrlicht.hs IrrHaskell.hs -lIrrlicht irrlicht_interface_ffi.o irrlicht_interface.o -lstdc++ -lXxf86vm -lXext -lglut -lGL -lX11 -lXcursor irrlicht.hs irrlicht_interface_ffi.c irrlicht_interface_ffi.h: irrlicht_interface.hs irrlicht_interface.h greencard irrlicht_interface.hs -o irrlicht.hs -c irrlicht_interface_ffi.c irrlicht_interface_ffi.o: irrlicht_interface_ffi.c irrlicht_interface_ffi.h $(CXX) -c -xc $(CPPFLAGS) $(CXXFLAGS) $< irrlicht_interface.o: irrlicht_interface.cpp irrlicht_interface.h $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< aux_files: Irrlicht.a Irrlicht.a: cp $(IrrlichtHomePath)/lib/Linux/libIrrlicht.a libIrrlicht.a .cpp.o: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< .c.o: $(CXX) -c -xc $(CPPFLAGS) $(CXXFLAGS) $< clean: rm -f *.o *.hi rm -f irrlicht_interface_ffi.* rm -f irrlicht.hs .PHONY: main aux_files clean