| 1 |
ALL: all.opt |
|---|
| 2 |
|
|---|
| 3 |
COMPONENTS = remix time volume sound envelope note tone wave transparency \ |
|---|
| 4 |
layer track deck noteUtil |
|---|
| 5 |
TESTS = sound_test_sin layer_test_sins track_test_sins \ |
|---|
| 6 |
continuous_sound_test |
|---|
| 7 |
INCLUDES=-I +extlib |
|---|
| 8 |
OBJECTS=extLib unix FB oss ladspa_raw |
|---|
| 9 |
|
|---|
| 10 |
INTERFACES = $(patsubst %, %.mli, $(COMPONENTS)) |
|---|
| 11 |
SOURCES = $(patsubst %, %.ml, $(COMPONENTS)) |
|---|
| 12 |
OBJECTS_CMXA = $(patsubst %, %.cmxa, $(OBJECTS)) |
|---|
| 13 |
|
|---|
| 14 |
OPTTESTS = $(patsubst %, %.opt, $(TESTS)) |
|---|
| 15 |
|
|---|
| 16 |
OCAMLPP = -pp "camlp4o ./pa_operators.cmo" |
|---|
| 17 |
OCAMLOPTARGS = $(INCLUDES) $(OBJECTS_CMXA) -w s -g $(OCAMLPP) |
|---|
| 18 |
|
|---|
| 19 |
pa_operators.cmo: pa_operators.ml |
|---|
| 20 |
ocamlc -I +camlp4 camlp4lib.cma -pp camlp4of pa_operators.ml |
|---|
| 21 |
|
|---|
| 22 |
remix.cmxa: $(INTERFACES) $(SOURCES) oss.cmxa ladspa_raw.cmxa FB.cmxa |
|---|
| 23 |
ocamlopt -c $(OCAMLOPTARGS) $(INTERFACES) $(SOURCES) |
|---|
| 24 |
ocamlopt -a -o remix.cmxa $(SOURCES) |
|---|
| 25 |
|
|---|
| 26 |
oss.cmxa: FB.cmxa oss.mli oss.ml oss_impl.c |
|---|
| 27 |
ocamlopt oss_impl.c oss.mli oss.ml -a -o oss.cmxa |
|---|
| 28 |
|
|---|
| 29 |
ladspa_raw.cmxa: ladspa_raw.mli ladspa_raw.ml ladspa_impl.c |
|---|
| 30 |
ocamlopt ladspa_impl.c ladspa_raw.mli ladspa_raw.ml -a \ |
|---|
| 31 |
-o ladspa_raw.cmxa |
|---|
| 32 |
FB.cmxa: FB.mli FB.ml FB_impl.c |
|---|
| 33 |
ocamlopt FB_impl.c FB.mli FB.ml -a -o FB.cmxa |
|---|
| 34 |
|
|---|
| 35 |
%.opt: remix.cmxa %.ml |
|---|
| 36 |
ocamlopt $(OCAMLOPTARGS) $^ -o $@ |
|---|
| 37 |
|
|---|
| 38 |
all.opt: pa_operators.cmo remix.cmxa $(OPTTESTS) |
|---|
| 39 |
|
|---|
| 40 |
clean: |
|---|
| 41 |
rm -rf *.cmi *.cmo *.cma *.cmxa *.o *.cmx *.a *.bin *.opt |
|---|