TOP_DIR=../.. all: libperlvalues.a dllperlvalues.so perlvalues.cma dllfakelib.so \ libperlvalues.so libcamlidl.so opt: true INSTOTHER = install-perl-libdir include $(TOP_DIR)/Makefile.rules PKGNAME = wdialog-perlguts REQUIRES = camlidl OCAMLC_OPTIONS = -ccopt -I$(PERL_INC) -ccopt "$(CCFLAGS)" INSTALL_EXTRA = make-xs.pl install-perl-libdir: mkdir -p $(PERL_LIBDIR) cp dllperlvalues.so libperlvalues.so dllfakelib.so libcamlidl.so $(PERL_LIBDIR) perlvalues.c: perlvalues.idl camlidl -prepro 'gcc -x c-header -E' perlvalues.idl echo ';; Callback.register "Printexc.to_string" Printexc.to_string;;' >>perlvalues.ml perlvalues.ml: perlvalues.c perlvalues.mli: perlvalues.c perlvalues.o: perlvalues.c perlvalues.h perlhelpers.h $(OCAMLC) -c perlvalues.c perlhelpers.o: perlhelpers.c perlhelpers.h $(OCAMLC) -c perlhelpers.c perlvalues.cmo: perlvalues.ml perlvalues.cmi $(OCAMLC) -c perlvalues.ml perlvalues.cmi: perlvalues.mli $(OCAMLC) -c perlvalues.mli perlvalues.cma: perlvalues.cmo ocamlmklib -o perlvalues perlvalues.cmo dllperlvalues.so: perlhelpers.o perlvalues.o ocamlmklib -o perlvalues perlhelpers.o perlvalues.o libperlvalues.a: perlhelpers.o perlvalues.o rm -f libperlvalues.a ar q libperlvalues.a perlhelpers.o perlvalues.o dllfakelib.so: dllperlvalues.so ./make-fakelib >fakelib.c $(OCAMLC) -c fakelib.c ocamlmklib -o fakelib fakelib.o libperlvalues.so: empty.o libcamlidl.so dllperlvalues.so LD_RUN_PATH="$(PERL_LIBDIR)" \ gcc -shared -o libperlvalues.so empty.o dllperlvalues.so libcamlidl.so libcamlidl.so: empty.o dllcamlidl.so LD_RUN_PATH="$(PERL_LIBDIR)" \ gcc -shared -o libcamlidl.so empty.o dllcamlidl.so dllcamlidl.so: empty.o gcc -shared -o dllcamlidl.so empty.o empty.o: empty.c $(OCAMLC) -c empty.c Dummy/Makefile: cd Dummy; perl Makefile.PL Dummy/Makefile.extracted: Dummy/Makefile $(MAKE) -C Dummy -f Makefile.extract extract clean:: rm -f Dummy/Makefile.extracted *.o *.cmi *.cmo *.so libperlvalues.a rm -f perlvalues.mli perlvalues.ml perlvalues.c cd Dummy; make clean # Include knowledge about the local Perl installation: # - PERL_INC # - CCFLAGS include Dummy/Makefile.extracted