mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-09 22:49:53 +08:00
77 lines
2.4 KiB
Makefile
77 lines
2.4 KiB
Makefile
# Hey Emacs, this is a -*- makefile -*-
|
|
#
|
|
# Copyright (C) 2004 Pascal Brisset, Antoine Drouin
|
|
# Copyright (C) 2012 The Paparazzi Team
|
|
#
|
|
# This file is part of paparazzi.
|
|
#
|
|
# paparazzi is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
#
|
|
# paparazzi is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with paparazzi; see the file COPYING. If not, write to
|
|
# the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
# Boston, MA 02111-1307, USA.
|
|
#
|
|
|
|
# Quiet compilation
|
|
Q=@
|
|
|
|
include ../../Makefile.ocaml
|
|
TOOLSDIR = ../../tools
|
|
|
|
OCAMLINCLUDES= -I $(LIBPPRZDIR) -I $(TOOLSDIR)
|
|
#OCAMLINCLUDES= -I $(LIBPPRZDIR) $(shell ocamlfind query -r -i-format lablgtk2) $(shell ocamlfind query -r -i-format xml-light) $(shell ocamlfind query -r -i-format ivy) -I $(TOOLSDIR)
|
|
PKGCOMMON=unix,str,lablgtk2,ivy,xml-light
|
|
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
|
|
|
|
# apparently on OSX `sdl-config --libs` also has -lSDLmain which we don't want
|
|
#ML_SDL_LFLAGS = $(foreach u,$(shell sdl-config --libs),-cclib $(u))
|
|
ML_SDL_LFLAGS = $(foreach u,$(shell pkg-config sdl --libs-only-L) -lSDL,-cclib $(u)) libSDL.so
|
|
INCLUDES += -I `ocamlc -where`
|
|
|
|
all: test_stick input2ivy
|
|
|
|
test_stick: test_sdl_stick.o
|
|
gcc -g -O2 -Wall -DSTICK_DBG `pkg-config glib-2.0 --cflags` -o $@ $^ sdl_stick.c `pkg-config glib-2.0 --libs` -lglibivy `sdl-config --libs`
|
|
|
|
input2ivy: sdl_stick.so input2ivy.cmo
|
|
@echo OL $@
|
|
$(Q)$(OCAMLFIND) $(OCAMLC) $(OCAMLINCLUDES) -o $@ -package $(PKGCOMMON) -linkpkg $(LIBPPRZCMA) $(TOOLSDIR)/fp_proc.cmo $^ $(ML_SDL_LFLAGS)
|
|
|
|
# dependency of input2ivy
|
|
input2ivy: $(LIBPPRZCMA) $(TOOLSDIR)/fp_proc.cmo
|
|
|
|
sdl_stick.so : sdl_stick.o ml_sdl_stick.o
|
|
gcc -shared -o $@ $^
|
|
|
|
%.o : %.c
|
|
gcc -c -O2 -Wall `pkg-config glib-2.0 --cflags` $(INCLUDES) $<
|
|
|
|
%.cmo : %.ml
|
|
@echo OC $<
|
|
$(Q)$(OCAMLFIND) $(OCAMLC) $(OCAMLINCLUDES) -c -package $(PKGCOMMON) $<
|
|
|
|
clean:
|
|
rm -f *~ core *.o *.bak .depend test*stick *.cmo *.cmi input2ivy
|
|
|
|
.PHONY: all clean
|
|
|
|
#
|
|
# Dependencies
|
|
#
|
|
|
|
.depend: Makefile
|
|
$(OCAMLDEP) -I $(LIBPPRZDIR) *.ml* > .depend
|
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
-include .depend
|
|
endif
|