Merge branch 'ocamlfind_no_custom'

- Use findlib (ocamlfind) for ocaml packages.
- Create META file for pprz ocaml lib.
- Link dynamically instead of statically (no -custom), which also results in faster build times.
- Use mktemp to properly create temporary files.
- More makefile cleanup...

closes #274
This commit is contained in:
Felix Ruess
2013-03-29 20:15:54 +01:00
54 changed files with 697 additions and 417 deletions
+1
View File
@@ -118,6 +118,7 @@
/sw/lib/ocaml/expr_parser.mli
/sw/lib/ocaml/gtk_papget_led_editor.ml
/sw/lib/ocaml/expr_lexer.ml
/sw/lib/ocaml/META.pprz
# /sw/logalizer/
/sw/logalizer/plot
+62 -39
View File
@@ -45,6 +45,14 @@ OCAML=$(shell which ocaml)
OCAMLRUN=$(shell which ocamlrun)
BUILD_DATETIME:=$(shell date +%Y%m%d-%H%M%S)
# default mktemp in OS X doesn't work, use gmktemp with macports coreutils
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
else
MKTEMP = mktemp
endif
#
# define some paths
#
@@ -57,6 +65,7 @@ MULTIMON=sw/ground_segment/multimon
COCKPIT=sw/ground_segment/cockpit
TMTC=sw/ground_segment/tmtc
TOOLS=$(PAPARAZZI_SRC)/sw/tools
JOYSTICK=sw/ground_segment/joystick
EXT=sw/ext
#
@@ -92,9 +101,6 @@ ABI_MESSAGES_H=$(STATICINCLUDE)/abi_messages.h
GEN_HEADERS = $(MESSAGES_H) $(MESSAGES2_H) $(UBX_PROTOCOL_H) $(MTK_PROTOCOL_H) $(XSENS_PROTOCOL_H) $(DL_PROTOCOL_H) $(DL_PROTOCOL2_H) $(ABI_MESSAGES_H)
# default directory for temporary files
TMPDIR ?= /tmp
all: ground_segment ext lpctools
print_build_version:
@@ -111,26 +117,29 @@ conf/%.xml :conf/%.xml.example
[ -L $@ ] || [ -f $@ ] || cp $< $@
ground_segment: print_build_version update_google_version conf lib subdirs commands static
ground_segment: print_build_version update_google_version conf libpprz subdirs commands static
static: cockpit tmtc tools sim_static static_h
static: cockpit tmtc tools sim_static joystick static_h
lib:
libpprz:
$(MAKE) -C $(LIB)/ocaml
multimon:
$(MAKE) -C $(MULTIMON)
cockpit: lib
cockpit: libpprz
$(MAKE) -C $(COCKPIT)
tmtc: lib cockpit multimon
tmtc: libpprz cockpit multimon
$(MAKE) -C $(TMTC)
tools: lib
tools: libpprz
$(MAKE) -C $(TOOLS)
sim_static: lib
joystick: libpprz
$(MAKE) -C $(JOYSTICK)
sim_static: libpprz
$(MAKE) -C $(SIMULATOR)
ext:
@@ -144,56 +153,70 @@ subdirs: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
$(PPRZCENTER): lib
$(PPRZCENTER): libpprz
$(LOGALIZER): lib
$(LOGALIZER): libpprz
static_h: $(GEN_HEADERS)
$(MESSAGES_H) : $(MESSAGES_XML) tools
$(Q)test -d $(STATICINCLUDE) || mkdir -p $(STATICINCLUDE)
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages.out $< telemetry > $(TMPDIR)/msg.h
$(Q)mv $(TMPDIR)/msg.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages.out $< telemetry > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(MESSAGES2_H) : $(MESSAGES_XML) tools
$(Q)test -d $(STATICINCLUDE) || mkdir -p $(STATICINCLUDE)
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages2.out $< telemetry > $(TMPDIR)/msg2.h
$(Q)mv $(TMPDIR)/msg2.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages2.out $< telemetry > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(UBX_PROTOCOL_H) : $(UBX_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_ubx.out $< > $(TMPDIR)/ubx.h
$(Q)mv $(TMPDIR)/ubx.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_ubx.out $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(MTK_PROTOCOL_H) : $(MTK_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_mtk.out $< > $(TMPDIR)/mtk.h
$(Q)mv $(TMPDIR)/mtk.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_mtk.out $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(XSENS_PROTOCOL_H) : $(XSENS_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_xsens.out $< > $(TMPDIR)/xsens.h
$(Q)mv $(TMPDIR)/xsens.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_xsens.out $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(DL_PROTOCOL_H) : $(MESSAGES_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages.out $< datalink > $(TMPDIR)/dl.h
$(Q)mv $(TMPDIR)/dl.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages.out $< datalink > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(DL_PROTOCOL2_H) : $(MESSAGES_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages2.out $< datalink > $(TMPDIR)/dl2.h
$(Q)mv $(TMPDIR)/dl2.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_messages2.out $< datalink > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(ABI_MESSAGES_H) : $(MESSAGES_XML) tools
@echo BUILD $@
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_abi.out $< airborne > $(TMPDIR)/abi.h
$(Q)mv $(TMPDIR)/abi.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) $(TOOLS)/gen_abi.out $< airborne > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
include Makefile.ac
@@ -218,10 +241,10 @@ paparazzi:
chmod a+x $@
install :
install: all
$(MAKE) -f Makefile.install PREFIX=$(PREFIX)
uninstall :
uninstall:
$(MAKE) -f Makefile.install PREFIX=$(PREFIX) uninstall
@@ -274,7 +297,7 @@ test: all replace_current_conf_xml run_tests restore_conf_xml
.PHONY: all print_build_version update_google_version ground_segment \
subdirs $(SUBDIRS) conf ext lib multimon cockpit tmtc tools\
subdirs $(SUBDIRS) conf ext libpprz multimon cockpit tmtc tools\
static sim_static lpctools commands install uninstall \
clean cleanspaces ab_clean dist_clean distclean dist_clean_irreversible \
test replace_current_conf_xml run_tests restore_conf_xml
+41 -23
View File
@@ -49,6 +49,13 @@ MODULES_DIR=$(PAPARAZZI_HOME)/conf/modules/
AUTOPILOT_H=$(AC_GENERATED)/autopilot_core.h
AIRCRAFT_MD5=$(AIRCRAFT_CONF_DIR)/aircraft.md5
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
else
MKTEMP = mktemp
endif
# "make Q=''" to get full echo
Q=@
@@ -62,9 +69,6 @@ endif
# telemetry periodic frequency defaults to 60Hz
TELEMETRY_FREQUENCY ?= 60
# default directory for temporary files
TMPDIR ?= /tmp
init:
@[ -d $(PAPARAZZI_HOME) ] || (echo "Copying config example in your $(PAPARAZZI_HOME) directory"; mkdir -p $(PAPARAZZI_HOME); cp -a conf $(PAPARAZZI_HOME); cp -a data $(PAPARAZZI_HOME); mkdir -p $(PAPARAZZI_HOME)/var/maps; mkdir -p $(PAPARAZZI_HOME)/var/include)
@@ -89,56 +93,70 @@ makefile_ac: $(MAKEFILE_AC)
$(AIRFRAME_H) : $(CONF)/$(AIRFRAME_XML) $(CONF_XML) $(AIRCRAFT_MD5)
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_airframe.out $(AC_ID) $(AIRCRAFT) $(MD5SUM) $< > $(TMPDIR)/airframe.h
$(Q)mv $(TMPDIR)/airframe.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_airframe.out $(AC_ID) $(AIRCRAFT) $(MD5SUM) $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(Q)cp $(CONF)/airframes/airframe.dtd $(AIRCRAFT_CONF_DIR)/airframes
$(RADIO_H) : $(CONF)/$(RADIO) $(CONF_XML) $(TOOLS)/gen_radio.out
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_radio.out $< > $(TMPDIR)/radio.h
$(Q)mv $(TMPDIR)/radio.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_radio.out $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(Q)cp $< $(AIRCRAFT_CONF_DIR)/radios
$(PERIODIC_H) : $(CONF)/$(AIRFRAME_XML) $(MESSAGES_XML) $(CONF_XML) $(CONF)/$(TELEMETRY) $(MAKEFILE_AC)
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_periodic.out $(CONF)/$(AIRFRAME_XML) $(MESSAGES_XML) $(CONF)/$(TELEMETRY) $(TELEMETRY_FREQUENCY) $(SETTINGS_TELEMETRY) > $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_periodic.out $(CONF)/$(AIRFRAME_XML) $(MESSAGES_XML) $(CONF)/$(TELEMETRY) $(TELEMETRY_FREQUENCY) $(SETTINGS_TELEMETRY) > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(Q)cp $< $(AIRCRAFT_CONF_DIR)
$(Q)cp $(CONF)/$(TELEMETRY) $(AIRCRAFT_CONF_DIR)/telemetry
$(FLIGHT_PLAN_H) : $(CONF)/$(FLIGHT_PLAN) $(CONF_XML) $(TOOLS)/gen_flight_plan.out
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_flight_plan.out $< > $(TMPDIR)/$(AC_ID)_fp.h
$(Q)mv $(TMPDIR)/$(AC_ID)_fp.h $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_flight_plan.out $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(Q)cp $< $(AIRCRAFT_CONF_DIR)/flight_plans
$(FLIGHT_PLAN_XML) : $(CONF)/$(FLIGHT_PLAN) $(CONF_XML) $(TOOLS)/gen_flight_plan.out
@echo BUILD $@
$(Q)$(TOOLS)/gen_flight_plan.out -dump $< > $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_flight_plan.out -dump $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(SETTINGS_H) : $(SETTINGS_XMLS) $(CONF_XML) $(SETTINGS_MODULES) $(SETTINGS_TELEMETRY) $(TOOLS)/gen_settings.out
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_settings.out $(SETTINGS_XML) $(SETTINGS_TELEMETRY) $(SETTINGS_XMLS) $(SETTINGS_MODULES) > $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_settings.out $(SETTINGS_XML) $(SETTINGS_TELEMETRY) $(SETTINGS_XMLS) $(SETTINGS_MODULES) > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(Q)cp $(SETTINGS_XMLS) $(AIRCRAFT_CONF_DIR)/settings
$(MODULES_H) : $(CONF)/$(AIRFRAME_XML) $(TOOLS)/gen_modules.out $(CONF)/modules/*.xml
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_modules.out $(SETTINGS_MODULES) $< > $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_modules.out $(SETTINGS_MODULES) $< > $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(AUTOPILOT_H) : $(CONF)/$(AIRFRAME_XML) $(TOOLS)/gen_autopilot.out $(CONF)/autopilot/*.xml
$(Q)test -d $(AC_GENERATED) || mkdir -p $(AC_GENERATED)
@echo BUILD $@
$(Q)$(TOOLS)/gen_autopilot.out $(CONF)/$(AIRFRAME_XML) $@
@echo GENERATE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)$(TOOLS)/gen_autopilot.out $(CONF)/$(AIRFRAME_XML) $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
$(SETTINGS_MODULES) : $(MODULES_H)
+1 -1
View File
@@ -171,7 +171,7 @@ check_arch :
$(Q)if ($(UISP) $(UISP_FLAGS) 2>&1 | tr '[:upper:]' '[:lower:]' | grep $($(TARGET).MCU)); then : ; else echo "Wrong architecture (mcu0 vs mcu1 ?)"; exit 1; fi
avr_clean:
rm -rf $(OBJDIR)
$(Q)rm -rf $(OBJDIR)
#
+19 -4
View File
@@ -27,10 +27,13 @@
# this should not be needed
SRC_ARCH = arch/sim
include $(PAPARAZZI_SRC)/sw/Makefile.ocaml
CC = gcc
OCAMLC = ocamlc
SIMDIR = $(PAPARAZZI_SRC)/sw/simulator
CAMLINCLUDES = $(shell ocamlfind query -r -i-format lablgtk2) -I $(PAPARAZZI_SRC)/sw/lib/ocaml -I $(SIMDIR) $(shell ocamlfind query -r -i-format xml-light)
CAMLINCLUDES = -I $(LIBPPRZDIR) -I $(SIMDIR) -I $(OBJDIR)
PKG = -package glibivy,pprz
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz
SIMSITLML = $(OBJDIR)/simsitl.ml
MYGTKINITCMO = myGtkInit.cmo
SITLCMA = $(SIMDIR)/sitl.cma
@@ -42,12 +45,20 @@ Q=@
# End of configuration part.
#
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
FPIC = -fPIC
else
FPIC =
endif
INCLUDES += -I `ocamlc -where`
CFLAGS = -W -Wall
CFLAGS += $(INCLUDES)
CFLAGS += $($(TARGET).CFLAGS)
CFLAGS += $(LOCAL_CFLAGS)
CFLAGS += $(FPIC)
CFLAGS += -O2
CFLAGS += -g
CFLAGS += -std=gnu99
@@ -65,10 +76,14 @@ $(TARGET).objs = $($(TARGET).objso:%.S=$(OBJDIR)/%.o)
all compile: $(OBJDIR)/simsitl
# shared library of the C autopilot part
autopilot.so : $($(TARGET).objs)
@echo BUILD $@
$(Q)$(CC) -shared -o $(OBJDIR)/$@ $^
$(OBJDIR)/simsitl : $($(TARGET).objs) $(SITLCMA) $(SIMSITLML)
$(OBJDIR)/simsitl : autopilot.so $(SITLCMA) $(SIMSITLML)
@echo LD $@
$(Q)$(OCAMLC) -g -custom $(CAMLINCLUDES) -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lib-pprz.cma lablgtk.cma $($(TARGET).objs) $(MYGTKINITCMO) $(SITLCMA) $(SIMSITLML)
$(Q)$(OCAMLC) -g $(CAMLINCLUDES) -o $@ $(LINKPKG) $(MYGTKINITCMO) $^ -dllpath $(OBJDIR) -dllpath $(SIMDIR)
# The id of the A/C is hardcoded in the code (to be improved with dynlink ?)
+4 -1
View File
@@ -1,11 +1,14 @@
# Quiet compilation
Q=@
CC=gcc
MODCFLAGS=-Wall
all: ublox_conf
clean:
rm -f core *.o ublox_conf
$(Q)rm -f core *.o ublox_conf
ublox_conf: ublox_conf.c Makefile
$(CC) $(MODCFLAGS) ublox_conf.c -o ublox_conf
+14 -8
View File
@@ -3,13 +3,17 @@
DATADIR = $(PAPARAZZI_HOME)/conf/maps_data
Q=@
# default directory for temporary files
TMPDIR ?= /tmp
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
else
MKTEMP = mktemp
endif
all: $(PAPARAZZI_HOME)/conf/maps.xml
clean:
rm -f $(DATADIR)/maps.google.com
$(Q)rm -f $(DATADIR)/maps.google.com
$(DATADIR):
mkdir $(DATADIR)
@@ -25,13 +29,15 @@ $(DATADIR)/maps.google.com: $(DATADIR) FORCE
$(PAPARAZZI_HOME)/conf/maps.xml: $(DATADIR)/maps.google.com
$(eval GOOGLE_VERSION := $(shell grep -E "http://khm[0-9]+.google.com/kh/v=[0-9]+.x26" $(DATADIR)/maps.google.com | sed -E 's#.*http://khm[0-9]+.google.com/kh/v=##;s#.x26.*##'))
$(eval $@_TMP := $(shell $(MKTEMP)))
@echo "Updated google maps version to $(GOOGLE_VERSION)"
@echo "-----------------------------------------------"
$(Q)echo "<!DOCTYPE maps SYSTEM \"maps.dtd\">" > $(TMPDIR)/maps.xml
$(Q)echo "" >> $(TMPDIR)/maps.xml
$(Q)echo "<maps google_version=\"$(GOOGLE_VERSION)\"/>" >> $(TMPDIR)/maps.xml
$(Q)echo "" >> $(TMPDIR)/maps.xml
$(Q)mv $(TMPDIR)/maps.xml $@
$(Q)echo "<!DOCTYPE maps SYSTEM \"maps.dtd\">" > $($@_TMP)
$(Q)echo "" >> $($@_TMP)
$(Q)echo "<maps google_version=\"$(GOOGLE_VERSION)\"/>" >> $($@_TMP)
$(Q)echo "" >> $($@_TMP)
$(Q)mv $($@_TMP) $@
$(Q)chmod a+r $@
FORCE:
.PHONY: all clean
+4 -1
View File
@@ -1,8 +1,11 @@
# Quiet compilation
Q=@
slides : slides.tex $(PDF) $(ANIMS)
pdflatex slides
clean:
rm -f *~ *.log *.nav *.out *.snm *.toc *.aux slides.pdf
$(Q)rm -f *~ *.log *.nav *.out *.snm *.toc *.aux slides.pdf
+5 -2
View File
@@ -1,8 +1,11 @@
# Quiet compilation
Q=@
doc_pprz_algebra.pdf: headfile.tex
pdflatex $<
bib:
bibtex headfile
clean:
rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.dvi *.ps
find . -name '*~' -exec rm -f {} \;
$(Q)rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.dvi *.ps
$(Q)find . -name '*~' -exec rm -f {} \;
+5 -2
View File
@@ -1,8 +1,11 @@
# Quiet compilation
Q=@
doc_pprz_algebra.pdf: headfile.tex
pdflatex $<
bib:
bibtex headfile
clean:
rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.dvi *.ps
find . -name '*~' -exec rm -f {} \;
$(Q)rm -f *~ *.aux *.bbl *.blg *.log *.out *.toc *.dvi *.ps
$(Q)find . -name '*~' -exec rm -f {} \;
+38
View File
@@ -0,0 +1,38 @@
# Hey Emacs, this is a -*- makefile -*-
#
# Copyright (C) 2013 Gautier Hattenberger
#
# 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.
#
# General ocaml compiling tools and pprz lib
OCAML = ocaml
OCAMLC = ocamlfind ocamlc
OCAMLOPT = ocamlfind ocamlopt
OCAMLDEP = ocamldep
OCAMLMKLIB = ocamlmklib
LIBPPRZDIR = $(PAPARAZZI_SRC)/sw/lib/ocaml
LIBPPRZCMA = $(LIBPPRZDIR)/lib-pprz.cma
LIBPPRZCMXA = $(LIBPPRZCMA:.cma=.cmxa)
XLIBPPRZCMA = $(LIBPPRZDIR)/xlib-pprz.cma
XLIBPPRZCMXA = $(XLIBPPRZCMA:.cma=.cmxa)
OCAMLDLL = -dllpath $(LIBPPRZDIR)
OCAMLXDLL = -dllpath $(LIBPPRZDIR)
export OCAMLPATH=$(LIBPPRZDIR):$OCAMLPATH
+4 -5
View File
@@ -21,6 +21,9 @@
# Boston, MA 02111-1307, USA.
#
# Quiet compilation
Q=@
OBJDIR = $(PAPARAZZI_HOME)/var/$(AIRCRAFT)/$(TARGET)
VARINCLUDE=$(PAPARAZZI_HOME)/var/include
@@ -51,10 +54,6 @@ ifneq ($(MAKECMDGOALS),clean)
# sort cflags and sources to throw out duplicates
#
#$(info CFLAGS_orig = $($(TARGET).CFLAGS))
#$(info CFLAGS_sort = $(sort $($(TARGET).CFLAGS)))
#$(info srcs_orig = $($(TARGET).srcs))
#$(info srcs_sort = $(sort $($(TARGET).srcs)))
$(TARGET).CFLAGS := $(sort $($(TARGET).CFLAGS))
$(TARGET).srcs := $(sort $($(TARGET).srcs))
endif
@@ -72,5 +71,5 @@ warn_conf :
@echo
clean :
rm -f *~ a.out *.elf
$(Q)rm -f *~ a.out *.elf
.PHONY: clean
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
LIBNAME = ../libusbstack
APPNAME = main
@@ -41,7 +44,7 @@ crt.o: crt.s
$(CC) -c $(AFLAGS) -Wa,-ahlms=crt.lst crt.s -o crt.o
clean:
rm -f *.hex *.elf *.o *.lst *.dmp *.map .depend
$(Q)rm -f *.hex *.elf *.o *.lst *.dmp *.map .depend
# recompile if the Makefile changes
$(OBJS): Makefile
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
#PROC_AP PROC_FBW PROC_TINY PROC_TINYJ
#PROC = TINYJ
ALLFLAGS = -DPROC_$(PROC)
@@ -37,9 +40,9 @@ LIBOBJS = usbhw_lpc.o usbcontrol.o usbstdreq.o usbinit.o usbdescrip.o
all: lib app app_ram
clean:
$(RM) -f $(LIBNAME).a $(LIBOBJS)
$(RM) -f $(APPNAME).hex $(APPNAME).elf $(OBJS) *.lst $(APPNAME).dmp $(APPNAME).map
$(RM) -f $(APPNAME_RAM).hex $(APPNAME_RAM).elf $(APPNAME_RAM).dmp $(APPNAME_RAM).map
$(Q)$(RM) -f $(LIBNAME).a $(LIBOBJS)
$(Q)$(RM) -f $(APPNAME).hex $(APPNAME).elf $(OBJS) *.lst $(APPNAME).dmp $(APPNAME).map
$(Q)$(RM) -f $(APPNAME_RAM).hex $(APPNAME_RAM).elf $(APPNAME_RAM).dmp $(APPNAME_RAM).map
# build lib
lib: $(LIBOBJS)
+4 -1
View File
@@ -21,6 +21,9 @@
# Boston, MA 02111-1307, USA.
##
# Quiet compilation
Q=@
CC = gcc
CFLAGS = -std=gnu99 -Wall -I.. -I../.. -I../../test/ -I../../../include -I../../booz_priv
LDFLAGS = -lm
@@ -51,4 +54,4 @@ test_att_ref: test_att_ref.c ../stabilization/booz_stabilization_attitude_ref_qu
clean:
rm -f *~ test_att_ref
$(Q)rm -f *~ test_att_ref
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
MCU = attiny25
PROG = dragon_isp
@@ -19,7 +22,7 @@ SOURCES = blitzer.c
all: $(APPNAME)
clean:
$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).elf $(APPNAME).hex
$(Q)$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).elf $(APPNAME).hex
app: $(APPNAME)
+4 -1
View File
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
all:
CFLAGS = -Wall -I..
@@ -25,7 +28,7 @@ play_audio: sndfile-play.c
gcc $(CFLAGS) $^ -o $@ $(LDFLAGS) -lsndfile -lasound
clean:
rm -f i86_vor_test_float_demod \
$(Q)rm -f i86_vor_test_float_demod \
i86_vor_test_int_demod \
i86_vor_test_filters \
*~ \#*
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
CFLAGS = -Wall $(shell pkg-config --cflags glib-2.0) -g
LDFLAGS = $(shell pkg-config --libs glib-2.0)
@@ -49,4 +52,4 @@ onboard_logger: onboard_logger.c
$(CC) $(CFLAGS) -o $@ $^ -lpcap
clean:
rm -f *~ fms test_telemetry
$(Q)rm -f *~ fms test_telemetry
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
raw_log_to_ascii: raw_log_to_ascii.c
gcc -I../../ -I../../../include -std=gnu99 -Wall raw_log_to_ascii.c -DOVERO_LINK_MSG_UP=AutopilotMessageVIUp -DOVERO_LINK_MSG_DOWN=AutopilotMessageVIDown -o raw_log_to_ascii
@@ -26,4 +29,4 @@ run_filter_on_log: ./libeknav_from_log.cpp $(LIBEKNAV_SRCS) ../../math/pprz_geod
g++ -I/usr/include/eigen2 -I../.. -I../../../include -I../../../../var/FY $(eknavOnLogFlags) -o $@ $^
clean:
-rm -f *.o *~ *.d
$(Q)rm -f *.o *~ *.d
+4 -1
View File
@@ -1,6 +1,9 @@
# Build shared pprz math library
#
# Quiet compilation
Q=@
CC= gcc
CFLAGS= -fpic
INCLUDES= -I$(PAPARAZZI_SRC)/sw/include -I$(PAPARAZZI_SRC)/sw/airborne
@@ -43,5 +46,5 @@ $(BUILDDIR)/%.o: %.c
$(CC) -c $< $(CFLAGS) $(INCLUDES) -o $@
clean:
rm -f $(BUILDDIR)/*.o $(BUILDDIR)/$(LIBNAME).so
$(Q)rm -f $(BUILDDIR)/*.o $(BUILDDIR)/$(LIBNAME).so
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
CC = gcc
CFLAGS = -std=c99 -I.. -I../../include -I../booz -I../../booz -Wall
@@ -33,4 +36,4 @@ test_fmul: test_fmul.c
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
clean:
rm -f *~ test_geodetic test_algebra *.exe
$(Q)rm -f *~ test_geodetic test_algebra *.exe
+24 -24
View File
@@ -33,19 +33,15 @@ else
endif
FPIC=-fPIC
OCAMLC=ocamlc
OCAMLOPT=ocamlopt
OCAMLDEP=ocamldep
OCAMLOPTFLAGS=-thread
OCAMLNETINCLUDES=$(shell ocamlfind query -r -i-format netstring) $(shell ocamlfind query -r -i-format netclient)
OCAMLNETCMA=$(shell ocamlfind query -r -a-format -predicates byte netstring) $(shell ocamlfind query -r -a-format -predicates byte netclient)
LIBPPRZDIR=../../lib/ocaml
INCLUDES= $(shell ocamlfind query -r -i-format lablgtk2) -I $(LIBPPRZDIR) $(shell ocamlfind query -r -i-format xml-light) $(shell ocamlfind query -r -i-format pcre) $(OCAMLNETINCLUDES)
LIBS=$(OCAMLNETCMA) glibivy-ocaml.cma lablgtk.cma lablglade.cma lib-pprz.cma lablgnomecanvas.cma xlib-pprz.cma
CMXA=$(LIBS:.cma=.cmxa)
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
LIBPPRZCMXA=$(LIBPPRZCMA:.cma=.cmxa)
XLIBPPRZCMA=$(LIBPPRZDIR)/xlib-pprz.cma
include ../../Makefile.ocaml
INCLUDES=
LIBS=
LIBSX=$(LIBS:.cma=.cmxa)
INCLUDES= -I ../multimon
PKG = -package pprz.xlib
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz.xlib
ML= gtk_setting_time.ml gtk_strip.ml horizon.ml strip.ml gtk_save_settings.ml saveSettings.ml page_settings.ml pages.ml speech.ml plugin.ml sectors.ml map2d.ml editFP.ml live.ml particules.ml papgets.ml gcs.ml
MAIN=gcs
@@ -56,45 +52,49 @@ all : $(MAIN)
opt : $(MAIN).opt
$(MAIN) : $(CMO) $(XLIBPPRZCMA) $(LIBPPRZCMA)
$(MAIN) : $(CMO)
@echo OL $@
$(Q)$(OCAMLC) $(OCAMLCFLAGS) -custom $(INCLUDES) $(OCAMLNETINCLUDES) unix.cma str.cma netstring.cma netclient.cma xml-light.cma $(LIBS) threads.cma gtkThread.cmo myGtkInit.cmo $(CMO) -o $@
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) $(LIBS) $(LINKPKG) myGtkInit.cmo $(CMO) -o $@
$(MAIN).opt : $(CMX)
@echo OOL $@
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) str.cmxa unix.cmxa xml-light.cmxa $(LIBS:.cma=.cmxa) threads.cmxa gtkThread.cmx gtkInit.cmx $(CMX) -o $@
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) $(LIBSX) -package pprz.xlib,lablgtk2.init -linkpkg $(CMX) -o $@
%.cmo: %.ml
@echo OC $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) $(PKG) -c $<
%.cmi: %.mli
@echo OCI $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) $(PKG) -c $<
%.cmx: %.ml
@echo OOC $<
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) $(PKG) -c $<
saveSettings.cmo : gtk_save_settings.cmo
saveSettings.cmx: gtk_save_settings.cmx
gtk_strip.ml : gcs.glade
lablgladecc2 -root eventbox_strip -hide-default $< | grep -B 1000000 " end" > $@
@echo GLADE $@
$(Q)lablgladecc2 -root eventbox_strip -hide-default $< | grep -B 1000000 " end" > $@
gtk_setting_time.ml : gcs.glade
lablgladecc2 -root setting_time -hide-default $< | grep -B 1000000 " end" > $@
@echo GLADE $@
$(Q)lablgladecc2 -root setting_time -hide-default $< | grep -B 1000000 " end" > $@
gtk_save_settings.ml : gcs.glade
lablgladecc2 -root save_settings -hide-default $< | grep -B 1000000 " end" > $@
@echo GLADE $@
$(Q)lablgladecc2 -root save_settings -hide-default $< | grep -B 1000000 " end" > $@
strip.cmo : gtk_strip.cmo gtk_setting_time.cmo
compass : compass.ml
$(OCAMLC) -custom $(OCAMLCFLAGS) $(INCLUDES) unix.cma str.cma xml-light.cma $(LIBS) gtkInit.cmo $^ -o $@
@echo OL $@
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) $(LINKPKG) gtkInit.cmo $^ -o $@
clean:
rm -f *~* *.cm* *.o *.out *.opt map2d gcs .depend gtk_strip.ml gtk_setting_time.ml gtk_save_settings.ml compass ant_track ant_track_pmm test_enose actuators
$(Q)rm -f *~* *.cm* *.o *.out *.opt map2d gcs .depend gtk_strip.ml gtk_setting_time.ml gtk_save_settings.ml compass ant_track ant_track_pmm test_enose actuators
.PHONY: all opt clean
+52 -15
View File
@@ -24,38 +24,75 @@
# Quiet compilation
Q=@
OCAMLC = ocamlc
OCAMLDEP = ocamldep
LIBPPRZDIR = ../../lib/ocaml
include ../../Makefile.ocaml
TOOLSDIR = ../../tools
OCAMLINCLUDES= -I $(LIBPPRZDIR) $(shell ocamlfind query -r -i-format lablgtk2) $(shell ocamlfind query -r -i-format xml-light) -I $(TOOLSDIR)
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
CC = gcc
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
FPIC=-fpic
else
FPIC=
endif
OCAMLINCLUDES= -I $(TOOLSDIR)
PKG = -package pprz,glibivy
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz
GLIB_CFLAGS = -Wall $(shell pkg-config glib-2.0 --cflags) $(FPIC)
GLIB_LDFLAGS = $(shell pkg-config glib-2.0 --libs) -lglibivy
# 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))
INCLUDES += -I `ocamlc -where`
SDL_LDIRS = $(shell pkg-config sdl --libs-only-L)
SDL_LIBS = -lSDL
# we do however need -lSDLmain for test_stick, which is just c
SDL_LDFLAGS = $(shell sdl-config --libs)
# apparently on OSX `sdl-config --libs` also has -lSDLmain which we don't want
ML_SDL_LFLAGS = $(foreach u,$(SDL_LDIRS),-ccopt $(u)) $(foreach u,$(SDL_LIBS),-cclib $(u)) libSDL.so
ML_SDL_LFLAGS += -dllpath ${PAPARAZZI_SRC}/sw/ground_segment/joystick
INCLUDES += -I $(shell ocamlc -where)
SDL_STICK_DEPS = sdl_stick.o ml_sdl_stick.o
# apparently on OSX you cannot dynamically link with SDL, see ocamlsdl readme
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
ML_SDL_OCAMLFLAGS = -custom
INPUT2IVY_DEPS = $(SDL_STICK_DEPS) input2ivy.cmo
else
ML_SDL_OCAMLFLAGS =
INPUT2IVY_DEPS = sdl_stick.so input2ivy.cmo
endif
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`
@echo BUILD $@
$(Q)$(CC) -g -O2 -DSTICK_DBG $(GLIB_CFLAGS) -o $@ $^ sdl_stick.c $(GLIB_LDFLAGS) $(SDL_LDFLAGS)
input2ivy: sdl_stick.o ml_sdl_stick.o input2ivy.cmo
$(OCAMLC) $(OCAMLINCLUDES) -o $@ unix.cma str.cma glibivy-ocaml.cma xml-light.cma lib-pprz.cma lablgtk.cma $(TOOLSDIR)/fp_proc.cmo $^ -custom $(ML_SDL_LFLAGS)
input2ivy: $(INPUT2IVY_DEPS)
@echo OL $@
$(Q)$(OCAMLC) $(OCAMLINCLUDES) -o $@ $(LINKPKG) $(TOOLSDIR)/fp_proc.cmo $^ $(ML_SDL_OCAMLFLAGS) $(ML_SDL_LFLAGS)
# dependency of input2ivy
input2ivy: $(LIBPPRZCMA) $(TOOLSDIR)/fp_proc.cmo
input2ivy: $(TOOLSDIR)/fp_proc.cmo
sdl_stick.so : $(SDL_STICK_DEPS)
@echo BUILD $@
$(Q)$(CC) -shared -o $@ $^
%.o : %.c
gcc -c -O2 -Wall `pkg-config glib-2.0 --cflags` $(INCLUDES) $<
@echo CC $@
$(Q)$(CC) -c -O2 $(GLIB_CFLAGS) $(INCLUDES) $<
%.cmo : %.ml
@echo OC $<
$(Q)$(OCAMLC) $(OCAMLINCLUDES) -c $<
$(Q)$(OCAMLC) $(OCAMLINCLUDES) -c $(PKG) $<
clean:
rm -f *~ core *.o *.bak .depend test*stick *.cmo *.cmi input2ivy
$(Q)rm -f *~ core *.o *.bak .depend test*stick *.cmo *.cmi input2ivy
.PHONY: all clean
+4 -1
View File
@@ -1,5 +1,8 @@
#MS VC: cl lpc21iap.c elf.c lpcusb.c libusb.lib
# Quiet compilation
Q=@
LIBNAME = usb
APPNAME = lpc21iap
@@ -38,7 +41,7 @@ SOURCES = lpc21iap.c elf.c lpcusb.c
all: $(APPNAME)
clean:
$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).obj $(APPNAME).exe
$(Q)$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).obj $(APPNAME).exe
app: $(APPNAME)
+1 -1
View File
@@ -38,7 +38,7 @@ endif
all: davis2ivy kestrel2ivy
clean:
rm -f *.o davis2ivy kestrel2ivy
$(Q)rm -f *.o davis2ivy kestrel2ivy
davis2ivy: davis2ivy.o
$(Q)$(CC) -o davis2ivy davis2ivy.o $(LIBRARYS) -livy
+2 -1
View File
@@ -101,7 +101,8 @@ void open_port(const char* device) {
/// disable transactions and empty queue
void reset_station() {
char newline = '\n', bytes = 0;
char newline = '\n';
char bytes __attribute__ ((unused));
fprintf(stderr, "Resetting communication\n");
// send a \n (wakeup and cancel all running transmits)
bytes = write(fd, &newline, 1);
+47 -50
View File
@@ -23,83 +23,80 @@
# Launch with "make Q=''" to get full command display
Q=@
DEBUG =n
MACHINE := $(shell uname -m)
AS86 =as86 -0 -a
LD86 =ld86 -0
AS =as
LD =ld
LDFLAGS =-lm
HOSTCC =gcc
CC =gcc
MAKE =make
CPP =$(CC) -E
AR =ar
STRIP =strip
MKDIR =mkdir
OCAMLC =ocamlc
DEBUG=n
MACHINE:=$(shell uname -m)
AS86=as86 -0 -a
LD86=ld86 -0
AS=as
LD=ld
LDFLAGS=-lm
HOSTCC=gcc
CC=gcc
MAKE=make
CPP=$(CC) -E
AR=ar
STRIP=strip
MKDIR=mkdir
CFLAGS =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I`$(OCAMLC) -where`
include ../../Makefile.ocaml
CFLAGS=-Wall -Wstrict-prototypes -I/usr/X11R6/include -I`$(OCAMLC) -where`
ifeq ($(DEBUG),y)
CFLAGS +=-g -O
CFLAGS += -g -O
else
CFLAGS +=-O3
CFLAGS += -O3
endif
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
CFLAGS += -fPIC
CFLAGS += -fPIC
else ifeq ($(MACHINE),'i686')
CFLAGS += -march=i486 -falign-loops=2 -falign-jumps=2 -falign-functions=2 -DARCH_I386
CFLAGS += -march=i486 -falign-loops=2 -falign-jumps=2 -falign-functions=2 -DARCH_I386
endif
LDFLAGSX =-lX11 -L/usr/X11R6/lib
LDFLAGSX = -lX11 -L/usr/X11R6/lib
#BINDIR =bin-$(shell uname -m)
BINDIR =.
#BINDIR = bin-$(shell uname -m)
BINDIR =.
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Linux")
ifneq (,$(findstring $(UNAME),linux Linux))
OBJFILES=pprzlib.o hdlc.o demod_afsk12.o demodml.o costabi.o gen_hdlc.o ml_hdlc.o demod.cmo hdlc.cmo
ALLTARGETS=$(BINDIR)/multimon multimon.cma
endif
ifeq ("$(UNAME)","linux")
OBJFILES=pprzlib.o hdlc.o demod_afsk12.o demodml.o costabi.o gen_hdlc.o ml_hdlc.o demod.cmo hdlc.cmo
ALLTARGETS=$(BINDIR)/multimon multimon.cma
endif
ifeq ("$(UNAME)","Darwin")
ifeq ($(UNAME),Darwin)
OBJFILES=demodml.o ml_hdlc.o demod.cmo hdlc.cmo
ALLTARGETS=multimon.cma
endif
all: $(ALLTARGETS)
all: $(ALLTARGETS)
multimon.cma: $(OBJFILES)
multimon.cma: $(OBJFILES)
@echo OLD $@
$(Q)ocamlmklib -o multimon $^
$(BINDIR)/%.s: %.c
$(CC) $(CFLAGS) -S -o $@ $<
$(CC) $(CFLAGS) -S -o $@ $<
$(BINDIR)/%.o: $(BINDIR)/%.s
$(AS) -c -o $@ $<
$(AS) -c -o $@ $<
$(BINDIR)/%.o: %.c
@echo CC $<
$(Q)$(CC) $(CFLAGS) -c -o $@ $<
SRC_L2 = hdlc.c pprz.c
SRC_L1 = demod_afsk48p.c demod_display.c
SRC_MISC = unixinput.c xdisplay.c
SRC_L2 = hdlc.c pprz.c
SRC_L1 = demod_afsk48p.c demod_display.c
SRC_MISC = unixinput.c xdisplay.c
SRC_GEN =gen.c gen_dtmf.c gen_sin.c gen_zvei.c gen_hdlc.c costabi.c
SRC_GEN = gen.c gen_dtmf.c gen_sin.c gen_zvei.c gen_hdlc.c costabi.c
OBJ_L2 =$(SRC_L2:%.c=$(BINDIR)/%.o)
OBJ_L1 =$(SRC_L1:%.c=$(BINDIR)/%.o)
OBJ_MISC =$(SRC_MISC:%.c=$(BINDIR)/%.o)
OBJ_L2 = $(SRC_L2:%.c=$(BINDIR)/%.o)
OBJ_L1 = $(SRC_L1:%.c=$(BINDIR)/%.o)
OBJ_MISC = $(SRC_MISC:%.c=$(BINDIR)/%.o)
OBJ_GEN =$(SRC_GEN:%.c=$(BINDIR)/%.o)
OBJ_GEN = $(SRC_GEN:%.c=$(BINDIR)/%.o)
$(BINDIR):
$(MKDIR) $(BINDIR)
@@ -108,14 +105,14 @@ $(BINDIR)/multimon: $(OBJ_L2) $(OBJ_L1) $(OBJ_MISC)
@echo LD $@
$(Q)$(CC) $^ $(LDFLAGS) $(LDFLAGSX) -o $@
$(BINDIR)/gen: $(OBJ_GEN)
$(CC) $^ $(LDFLAGS) -o $@
$(BINDIR)/gen: $(OBJ_GEN)
$(CC) $^ $(LDFLAGS) -o $@
$(BINDIR)/mkcostab: $(BINDIR)/mkcostab.o
$(CC) $^ $(LDFLAGS) -o $@
$(CC) $^ $(LDFLAGS) -o $@
costabi.c costabf.c: $(BINDIR)/mkcostab
$(BINDIR)/mkcostab
$(BINDIR)/mkcostab
libtest: pprzlib.o demodml.c demod.ml test.ml
@@ -133,11 +130,11 @@ hdlc.cmo : hdlc.cmi
$(OCAMLC) $<
clean:
rm -fr *.cm* mkcostab .depend
$(RM) -f core `find . -name '*.[oas]' -print`
$(RM) -f core `find . -name 'core' -print`
$(RM) -f core costabi.c costabf.c *~
$(RM) $(BINDIR)/multimon
$(Q)rm -fr *.cm* mkcostab .depend
$(Q)$(RM) -f core `find . -name '*.[oas]' -print` *.so
$(Q)$(RM) -f core `find . -name 'core' -print`
$(Q)$(RM) -f core costabi.c costabf.c *~
$(Q)$(RM) $(BINDIR)/multimon
.PHONY: all clean depend dep
+4 -1
View File
@@ -1,7 +1,10 @@
# Quiet compilation
Q=@
all: SMS_GS
SMS_GS: SMS_Ground_UDtest_final.c
gcc -g -O2 -Wall `pkg-config --cflags glib-2.0 gtk+-2.0` -L/usr/lib -lglibivy -o SMS_GS SMS_Ground_UDtest_final.c `pkg-config --libs glib-2.0 gtk+-2.0` -lglibivy
clean:
rm -f SMS_GS
$(Q)rm -f SMS_GS
+35 -42
View File
@@ -32,23 +32,18 @@ endif
include ../../../conf/Makefile.local
include ../../Makefile.ocaml
CONF = ../../../conf
VAR = ../../../var
OCAMLC = ocamlc
OCAMLOPT = ocamlopt
OCAMLDEP = ocamldep
LIBPPRZDIR = ../../lib/ocaml
OCAMLNETINCLUDES=$(shell ocamlfind query -r -i-format netstring) $(shell ocamlfind query -r -i-format netclient)
OCAMLNETCMA=$(shell ocamlfind query -r -a-format -predicates byte netstring)
INCLUDES= -I $(LIBPPRZDIR) -I ../multimon $(shell ocamlfind query -r -i-format lablgtk2) $(shell ocamlfind query -r -i-format xml-light) $(OCAMLNETINCLUDES)
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
LIBPPRZCMXA=$(LIBPPRZCMA:.cma=.cmxa)
XLIBPPRZCMA=$(LIBPPRZDIR)/xlib-pprz.cma
XLIBPPRZCMXA=$(XLIBPPRZCMA:.cma=.cmxa)
INCLUDES= -I ../multimon
PKG = -package glibivy,pprz
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz
XPKG = -package pprz.xlib
XLINKPKG = $(XPKG) -linkpkg -dllpath-pkg pprz.xlib
LIBMULTIMONCMA=../multimon/multimon.cma
LIBMULTIMONDLL= multimon.cma -dllpath $(PAPARAZZI_SRC)/sw/ground_segment/multimon
SERVERCMO = server_globals.cmo aircraft.cmo wind.cmo airprox.cmo kml.cmo fw_server.ml rotorcraft_server.ml server.cmo
SERVERCMX = $(SERVERCMO:.cmo=.cmx)
@@ -57,7 +52,7 @@ SERVERCMX = $(SERVERCMO:.cmo=.cmx)
all: link server messages settings dia diadec $(VAR)/boa.conf ivy_tcp_aircraft ivy_tcp_controller broadcaster ivy2udp ivy_serial_bridge
clean:
rm -f link server messages settings dia diadec *.bak *~ core *.o .depend *.opt *.out *.cm* ivy_tcp_aircraft ivy_tcp_controller broadcaster ivy2udp ivy_serial_bridge gpsd2ivy c_ivy_client_example_1 c_ivy_client_example_2 c_ivy_client_example_3
$(Q)rm -f link server messages settings dia diadec *.bak *~ core *.o .depend *.opt *.out *.cm* ivy_tcp_aircraft ivy_tcp_controller broadcaster ivy2udp ivy_serial_bridge gpsd2ivy c_ivy_client_example_1 c_ivy_client_example_2 c_ivy_client_example_3
$(VAR)/boa.conf :$(CONF)/boa.conf
@@ -65,77 +60,75 @@ $(VAR)/boa.conf :$(CONF)/boa.conf
sed 's|PAPARAZZI_HOME|$(PAPARAZZI_HOME)|' < $< > $@
messages : messages.cmo $(XLIBPPRZCMA) $(LIBPPRZCMA)
messages : messages.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma gtkInit.cmo $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $<
settings : settings.cmo $(XLIBPPRZCMA) $(LIBPPRZCMA) ../cockpit/page_settings.cmo
settings : settings.cmo ../cockpit/page_settings.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -I ../cockpit -o $@ unix.cma str.cma xml-light.cma lablgtk.cma lablglade.cma $(OCAMLNETCMA) glibivy-ocaml.cma lib-pprz.cma lablgnomecanvas.cma xlib-pprz.cma gtkInit.cmo gtk_save_settings.cmo saveSettings.cmo page_settings.cmo $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(XLINKPKG) gtkInit.cmo -I ../cockpit gtk_save_settings.cmo saveSettings.cmo page_settings.cmo $<
server : $(SERVERCMO) $(LIBPPRZCMA)
server : $(SERVERCMO)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma $(SERVERCMO)
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(SERVERCMO)
server.opt : $(SERVERCMX) $(LIBPPRZCMXA)
server.opt : $(SERVERCMX)
@echo OOL $@
$(Q)$(OCAMLOPT) $(INCLUDES) -o $@ str.cmxa unix.cmxa xml-light.cmxa lablgtk.cmxa glibivy-ocaml.cmxa lib-pprz.cmxa $(SERVERCMX)
$(Q)$(OCAMLOPT) $(INCLUDES) -o $@ -package glibivy,pprz -linkpkg $(SERVERCMX)
link : link.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
link : link.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
ivy_tcp_aircraft : ivy_tcp_aircraft.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
ivy_tcp_aircraft : ivy_tcp_aircraft.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
ivy_tcp_controller : ivy_tcp_controller.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
ivy_tcp_controller : ivy_tcp_controller.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
broadcaster : broadcaster.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
broadcaster : broadcaster.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
ivy2udp : ivy2udp.cmo $(LIBPPRZCMA)
ivy2udp : ivy2udp.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $<
dia : dia.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
dia : dia.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
diadec : diadec.cmo $(LIBMULTIMONCMA) $(LIBPPRZCMA)
diadec : diadec.cmo $(LIBMULTIMONCMA)
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma multimon.cma $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $(LIBMULTIMONDLL) $<
150m : 150m.cmo $(LIBPPRZCMA)
150m : 150m.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma lablgtk.cma glibivy-ocaml.cma lib-pprz.cma gtkInit.cmo $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $<
settings.cmo : INCLUDES += -I ../cockpit
settings.cmo : ../cockpit/page_settings.cmi
%.cmo : %.ml
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(INCLUDES) $(PKG) -c $<
%.cmx : %.ml
@echo OOC $<
$(Q)$(OCAMLOPT) $(INCLUDES) -c $<
$(Q)$(OCAMLOPT) $(INCLUDES) $(PKG) -c $<
%.cmi : %.mli
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) $<
$(Q)$(OCAMLC) $(INCLUDES) $(PKG) $<
CC = gcc
+13 -7
View File
@@ -27,10 +27,6 @@ OCAMLC = ocamlc
OCAMLOPT = ocamlopt
INCLUDES= $(shell ocamlfind query -r -i-format xml-light) $(shell ocamlfind query -r -i-format lablgtk2) -I ../../lib/ocaml
# default directory for temporary files
TMPDIR ?= /tmp
all: panic
$^
@@ -57,9 +53,19 @@ plot : ../../lib/ocaml/lib-pprz.cmxa
export.cmo : gtk_export.cmo
export.cmx : gtk_export.cmx
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
else
MKTEMP = mktemp
endif
gtk_export.ml : export.glade
grep -v invisible_char $< > $(TMPDIR)/$<
lablgladecc2 -root export -hide-default $(TMPDIR)/$< | grep -B 1000000 " end" > $@
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)lablgladecc2 -root export -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
pt : ahrsview imuview ahrs2fg
@@ -72,7 +78,7 @@ MORE_FLAGS = -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/incl
MORE_CFLAGS = -DHAVE_DLFCN_H=1 -DSTDC_HEADERS=1 -I. -I. -I.. -g -O2 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include
clean:
rm -f *.opt *.out *~ core *.o *.bak .depend *.cm* panic
$(Q)rm -f *.opt *.out *~ core *.o *.bak .depend *.cm* panic
#FGFS_PREFIX=/home/poine/local
FGFS_PREFIX=/home/poine/flightgear
+1 -1
View File
@@ -35,4 +35,4 @@ fms_steps_attitude: fms_steps_attitude.c
clean:
rm -f *~ core *.o *.bak .depend fdm_step fms_steps_attitude
$(Q)rm -f *~ core *.o *.bak .depend fdm_step fms_steps_attitude
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
CFLAGS = -g -Wall `pkg-config glib-2.0 --cflags`
LDFLAGS = `pkg-config glib-2.0 --libs` -lm
@@ -127,4 +130,4 @@ test_ukf: $(OBJS_TEST_UKF)
clean:
rm -f *~ *.o tilt_ukf tilt_ekf tilt_fast_ekf ahrs_euler_ekf ahrs_quat_ukf ahrs_quat_ekf ahrs_quat_fast_ekf test_matrix test_ukf
$(Q)rm -f *~ *.o tilt_ukf tilt_ekf tilt_fast_ekf ahrs_euler_ekf ahrs_quat_ukf ahrs_quat_ekf ahrs_quat_fast_ekf test_matrix test_ukf
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
CC = gcc
CFLAGS=-g -O2 -Wall `pkg-config gtk+-2.0 --cflags`
@@ -8,4 +11,4 @@ ir_calib : main.c calibrator.c gui.c
$(CC) $(CFLAGS) -g -o $@ $^ $(LDFLAGS)
clean:
rm -f *~ ir_calib
$(Q)rm -f *~ ir_calib
+4 -1
View File
@@ -2,12 +2,15 @@
# Makefile
#
# Quiet compilation
Q=@
APP = i2c_usb
all: $(APP)
clean:
rm -f $(APP)
$(Q)rm -f $(APP)
$(APP): $(APP).c
$(CC) -Wall -o $@ $(APP).c -lusb
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
#LIBNAME = efsl
APPNAME = linuxtest
@@ -24,7 +27,7 @@ SOURCES = linuxtest.c
all: $(APPNAME)
clean:
$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).obj $(APPNAME).exe
$(Q)$(RM) -f core $(APPNAME).o $(APPNAME) $(APPNAME).obj $(APPNAME).exe
app: $(APPNAME)
+4 -1
View File
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
CC = gcc
CFLAGS=-g -O2 -Wall `pkg-config gtk+-2.0 --cflags` -I../../../var/MB
LDFLAGS=`pkg-config gtk+-2.0 --libs` -s -lglibivy
@@ -13,5 +16,5 @@ plot_test:
scilab -f test.sce -args $(LOG)
clean:
rm -f *~ motor_bench
$(Q)rm -f *~ motor_bench
+4 -1
View File
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
all: email2udp udp2tcp tcp2ivy
email2udp: email2udp.c
@@ -10,4 +13,4 @@ tcp2ivy_generic: tcp2ivy_generic.c
gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -I../../../var/${AIRCRAFT} -o $@ $^ `pkg-config glib-2.0 --libs` -lglibivy -lm
clean:
rm -f email2udp udp2tcp tcp2ivy
$(Q)rm -f email2udp udp2tcp tcp2ivy
+4 -1
View File
@@ -1,11 +1,14 @@
# Quiet compilation
Q=@
CC=gcc
MODCFLAGS=-Wall
all: turb_simu
clean:
rm -f core *.o turb_simu
$(Q)rm -f core *.o turb_simu
ublox_conf: ublox_conf.c Makefile
$(CC) $(MODCFLAGS) turb_simu.c -o turb_simu
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
CC = gcc
GLIB_CFLAGS = -Wall `pkg-config glib-2.0 --cflags`
GLIB_LDFLAGS = `pkg-config glib-2.0 --libs` -lglibivy -lpcre
@@ -8,4 +11,4 @@ main: main.c serial_port.c
clean:
rm -f main
$(Q)rm -f main
+14
View File
@@ -0,0 +1,14 @@
description = "Paparazzi UAS package"
requires = "unix,str,xml-light,lablgtk2,glibivy,netclient"
version = "1.0"
directory = ""
archive(byte) = "lib-pprz.cma"
archive(native) = "lib-pprz.cmxa"
package "xlib" (
requires = "pprz,lablgtk2-gnome.gnomecanvas,lablgtk2.glade"
version = "1.0"
archive(byte) = "xlib-pprz.cma"
archive(native) = "xlib-pprz.cmxa"
)
+14
View File
@@ -0,0 +1,14 @@
description = "Paparazzi UAS package"
requires = "unix,str,xml-light,lablgtk2,glibivy,netclient"
version = "1.0"
directory = ""
archive(byte) = "lib-pprz.cma"
archive(native) = "lib-pprz.cmxa"
package "xlib" (
requires = "pprz,lablgtk2.gnomecanvas,lablgtk2.glade"
version = "1.0"
archive(byte) = "xlib-pprz.cma"
archive(native) = "xlib-pprz.cmxa"
)
+78 -54
View File
@@ -23,6 +23,19 @@
Q=@
OCAMLC=ocamlfind ocamlc
OCAMLOPT=ocamlfind ocamlopt
OCAMLDEP=ocamldep
OCAMLLEX=ocamllex
OCAMLYACC=ocamlyacc
OCAMLMKLIB=ocamlmklib
OCAMLLIBDIR=$(shell $(OCAMLC) -where)
# verbose ocamlmklib: Print commands before executing them
#VERBOSITY = -verbose
VERBOSITY =
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
FPIC = -ccopt -fPIC
@@ -30,15 +43,21 @@ else
FPIC =
endif
INCLUDES= $(shell ocamlfind query -r -i-format xml-light) $(shell ocamlfind query -r -i-format netstring) $(shell ocamlfind query -r -i-format netclient) $(shell ocamlfind query -r -i-format pcre)
XINCLUDES= $(shell ocamlfind query -r -i-format lablgtk2) $(shell ocamlfind query -r -i-format xml-light)
OCAMLC=ocamlc
OCAMLDEP=ocamldep
OCAMLOPT=ocamlopt
OCAMLLEX=ocamllex
OCAMLYACC=ocamlyacc
OCAMLLIBDIR=$(shell $(OCAMLC) -where)
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
LABLGTK2GNOMECANVAS = lablgtk2.gnomecanvas
METAFILE = META.pprz.osx
else
MKTEMP = mktemp
LABLGTK2GNOMECANVAS = lablgtk2-gnome.gnomecanvas
METAFILE = META.pprz.deb
endif
INCLUDES=
PKGCOMMON=xml-light,netclient,glibivy,lablgtk2
XINCLUDES=
XPKGCOMMON=xml-light,glibivy,$(LABLGTK2GNOMECANVAS),lablgtk2.glade
SRC = fig.ml debug.ml base64.ml serial.ml ocaml_tools.ml expr_syntax.ml expr_parser.ml expr_lexer.ml extXml.ml env.ml xml2h.ml latlong.ml egm96.ml srtm.ml http.ml maps_support.ml gm.ml iGN.ml geometry_2d.ml cserial.o convert.o ubx.ml pprz.ml xbee.ml logpprz.ml xmlCom.ml os_calls.ml editAirframe.ml defivybus.ml
CMO = $(SRC:.ml=.cmo)
@@ -51,30 +70,26 @@ XCMX = $(XSRC:.ml=.cmx)
TESTS_SRC = test/test_latlong.ml
TESTS_CMO = $(TESTS_SRC:.ml=.cmo)
# default directory for temporary files
TMPDIR ?= /tmp
$(XCMO) $(XCMX) myGtkInit.cmo : INCLUDES=$(XINCLUDES)
all : lib-pprz.cma xlib-pprz.cma myGtkInit.cmo xml_get.out opt
opt : lib-pprz.cmxa xlib-pprz.cmxa
all : byte native
byte : lib-pprz.cma xlib-pprz.cma myGtkInit.cmo xml_get.out META.pprz
native : lib-pprz.cmxa xlib-pprz.cmxa META.pprz
lib-pprz.cma liblib-pprz.a: $(CMO)
@echo OL $@
$(Q)ocamlmklib $(INCLUDES) -o lib-pprz $^
$(Q)$(OCAMLMKLIB) $(VERBOSITY) $(INCLUDES) -o lib-pprz $^
lib-pprz.cmxa dlllib-pprz.so: $(CMX)
@echo OOL $@
$(Q)ocamlmklib $(INCLUDES) -o lib-pprz $^
$(Q)$(OCAMLMKLIB) $(VERBOSITY) $(INCLUDES) -o lib-pprz $^
xlib-pprz.cma libxlib-pprz.a: $(XCMO)
@echo OL $@
$(Q)ocamlmklib $(XINCLUDES) -o xlib-pprz $^
$(Q)$(OCAMLMKLIB) $(VERBOSITY) $(XINCLUDES) -o xlib-pprz $^
xlib-pprz.cmxa dllxlib-pprz.so: $(XCMX)
@echo OOL $@
$(Q)ocamlmklib $(XINCLUDES) -o xlib-pprz $^
$(Q)$(OCAMLMKLIB) $(VERBOSITY) $(XINCLUDES) -o xlib-pprz $^
# trying to set correct dependencies for parallel build
# these are order only depedencies
@@ -82,50 +97,46 @@ lib-pprz.cmxa: | liblib-pprz.a dlllib-pprz.so
xlib-pprz.cmxa: | libxlib-pprz.a dllxlib-pprz.so
xml_get.out : lib-pprz.cma xml_get.cmo | opt
xml_get.out : lib-pprz.cma xml_get.cmo
@echo OL $@
$(Q)$(OCAMLC) $(INCLUDES) -o $@ str.cma xml-light.cma -I . $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ -package str,xml-light -linkpkg -I . $^
tests : lib-pprz.cma $(TESTS_CMO)
$(OCAMLC) $(INCLUDES) -custom -I . -o $@ str.cma unix.cma ivy-ocaml.cma xml-light.cma $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ -package unix,str,xml-light,ivy -linkpkg -I . -dllpath . $^
GTKCFLAGS := `pkg-config --cflags gtk+-2.0`
#GTKCFLAGS := -I/usr/lib/gtk-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo
# GTKCFLAGS := $(shell gtk-config --cflags)
%.o : %.c
%.o : %.c
@echo OC $<
$(Q)$(OCAMLC) $(FPIC) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(FPIC) $(INCLUDES) -package $(PKGCOMMON) -c $<
$(XCMO) $(XCMX) myGtkInit.cmo : PKGCOMMON=$(XPKGCOMMON)
GTKCFLAGS := $(shell pkg-config --cflags gtk+-2.0)
ml_gtk_drag.o : ml_gtk_drag.c
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c -ccopt "$(GTKCFLAGS)" $<
$(Q)$(OCAMLC) $(INCLUDES) -package $(PKGCOMMON) -c -ccopt "$(GTKCFLAGS)" $<
ml_gtkgl_hack.o : ml_gtkgl_hack.c
ml_gtkgl_hack.o : ml_gtkgl_hack.c
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c -ccopt "$(GTKCFLAGS)" $<
$(Q)$(OCAMLC) $(INCLUDES) -package $(PKGCOMMON) -c -ccopt "$(GTKCFLAGS)" $<
camltm.o : register_example.cmo
$(OCAMLC) $(INCLUDES) -output-obj -o $@ unix.cma str.cma xml-light.cma ivy-ocaml.cma debug.cmo serial.cmo extXml.cmo env.cmo pprz.cmo tm.cmo
$(OCAMLC) $(INCLUDES) -output-obj -o $@ -package unix,str,xml-light,ivy debug.cmo serial.cmo extXml.cmo env.cmo pprz.cmo tm.cmo
caml_from_c_example : cserial.o convert.o caml_from_c_example.o camltm.o
$(CC) -o $@ $^ -L$(OCAMLLIBDIR) -lunix -lstr -livy-ocaml -lcamlrun -lm -livy -lcurses
%.cmo : %.ml
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(INCLUDES) -package $(PKGCOMMON) -c $<
%.cmx : %.ml
@echo OOC $<
$(Q)$(OCAMLOPT) $(INCLUDES) -c $<
$(Q)$(OCAMLOPT) $(INCLUDES) -package $(PKGCOMMON) -c $<
%.cmi : %.mli
@echo OC $<
$(Q)$(OCAMLC) $(XINCLUDES) $(INCLUDES) $<
%.cmi : %.ml
@echo OC $<
$(Q)$(OCAMLC) $(XINCLUDES) -c $<
$(Q)$(OCAMLC) $(XINCLUDES) $(INCLUDES) -package $(PKGCOMMON),$(XPKGCOMMON) $<
%.ml : %.mll
@echo OCL $<
@@ -135,6 +146,8 @@ caml_from_c_example : cserial.o convert.o caml_from_c_example.o camltm.o
@echo OCY $<
$(Q)$(OCAMLYACC) $<
# dependencies not covered by ocamldep
# since these files are generated
expr_parser.cmo expr_parser.cmx : expr_parser.cmi expr_syntax.cmi
expr_parser.cmi : expr_parser.ml expr_syntax.cmi
expr_lexer.ml : expr_parser.ml
@@ -142,31 +155,42 @@ expr_lexer.cmi : expr_lexer.ml expr_syntax.cmi
expr_lexer.cmo : expr_lexer.cmi
expr_syntax.cmo : expr_syntax.cmi
gtk_papget_editor.ml : widgets.glade
grep -v invisible_char $< > $(TMPDIR)/$@_$<
lablgladecc2 -root papget_editor -hide-default $(TMPDIR)/$@_$< | grep -B 1000000 " end" > $@
@rm $(TMPDIR)/$@_$<
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)lablgladecc2 -root papget_editor -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
gtk_papget_text_editor.ml : widgets.glade
grep -v invisible_char $< > $(TMPDIR)/$@_$<
lablgladecc2 -root table_text_editor -hide-default $(TMPDIR)/$@_$< | grep -B 1000000 " end" > $@
@rm $(TMPDIR)/$@_$<
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)lablgladecc2 -root table_text_editor -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
gtk_papget_gauge_editor.ml : widgets.glade
grep -v invisible_char $< > $(TMPDIR)/$@_$<
lablgladecc2 -root table_gauge_editor -hide-default $(TMPDIR)/$@_$< | grep -B 1000000 " end" > $@
@rm $(TMPDIR)/$@_$<
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)lablgladecc2 -root table_gauge_editor -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
gtk_papget_led_editor.ml : widgets.glade
grep -v invisible_char $< > $(TMPDIR)/$@_$<
lablgladecc2 -root table_led_editor -hide-default $(TMPDIR)/$@_$< | grep -B 1000000 " end" > $@
@rm $(TMPDIR)/$@_$<
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)$(Q)lablgladecc2 -root table_led_editor -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
META.pprz : $(METAFILE)
@echo COPY $<
$(shell cp $< META.pprz)
clean :
rm -f *~ *.cm* *.out *.opt .depend *.a *.o *.so caml_from_c_example tests gtk_papget_*.ml expr_parser.ml expr_parser.mli expr_lexer.ml expr_lexer.mli
$(Q)rm -f *~ *.cm* *.out *.opt .depend *.a *.o *.so caml_from_c_example tests gtk_papget_*.ml expr_parser.ml expr_parser.mli expr_lexer.ml expr_lexer.mli META.pprz
.PHONY: all opt clean
.PHONY: all byte native clean
#
# Dependencies
+39 -36
View File
@@ -23,52 +23,42 @@
# Quiet compilation
Q=@
OCAMLC = ocamlc
OCAMLDEP = ocamldep
OCAMLOPT = ocamlopt
LIBPPRZDIR = ../lib/ocaml
INCLUDES= $(shell ocamlfind query -r -i-format xml-light) $(shell ocamlfind query -r -i-format lablgtk2) -I $(LIBPPRZDIR)
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
LIBPPRZCMXA=$(LIBPPRZCMA:.cma=.cmxa)
XLIBPPRZCMA=$(LIBPPRZDIR)/xlib-pprz.cma
XLIBPPRZCMXA=$(XLIBPPRZCMA:.cma=.cmxa)
# default directory for temporary files
TMPDIR ?= /tmp
include ../Makefile.ocaml
INCLUDES=
PKG = -package glibivy,pprz
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz
XPKG = -package pprz.xlib
XLINKPKG = $(XPKG) -linkpkg -dllpath-pkg pprz.xlib
all: play plotter plot sd2log plotprofile openlog2tlm
play : log_file.cmo play_core.cmo play.cmo
@echo OL $@
$(Q)$(OCAMLC) $(INCLUDES) -custom -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma $(shell ocamlfind query -r -i-format lablgtk2) -I ../lib/ocaml lablgtk.cma lib-pprz.cma gtkInit.cmo $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $^
play-nox : play_core.cmo play-nox.cmo
@echo OL $@
$(Q)$(OCAMLC) $(INCLUDES) -custom -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma $(shell ocamlfind query -r -i-format lablgtk2) -I ../lib/ocaml lablgtk.cma lib-pprz.cma $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $^
plotter : plotter.cmo
@echo OL $@
$(Q)$(OCAMLC) $(INCLUDES) -custom -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lablgtk.cma lib-pprz.cma xlib-pprz.cma gtkInit.cmo $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(XLINKPKG) gtkInit.cmo $^
plot : log_file.cmx gtk_export.cmx export.cmx plot.cmx
plot : log_file.cmo gtk_export.cmo export.cmo plot.cmo
@echo OL $@
$(Q)$(OCAMLOPT) $(INCLUDES) -o $@ unix.cmxa str.cmxa xml-light.cmxa glibivy-ocaml.cmxa lablgtk.cmxa lib-pprz.cmxa xlib-pprz.cmxa lablglade.cmxa gtkInit.cmx $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(XLINKPKG) gtkInit.cmo $^
sd2log : sd2log.cmo
@echo OL $@
$(Q)$(OCAMLC) $(INCLUDES) -custom -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lib-pprz.cma $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) $^
CC = gcc
CFLAGS=-g -O2 -Wall
LDFLAGS=
openlog2tlm: openlog2tlm.c
$(CC) $(CFLAGS) -g -o $@ $^
# depedency on lib-pprz
play play-nox sd2log : $(LIBPPRZCMA)
plotter : $(LIBPPRZCMA) $(XLIBPPRZCMA)
plot : $(LIBPPRZCMXA) $(XLIBPPRZCMXA)
@echo CC $@
$(Q)$(CC) $(CFLAGS) -g -o $@ $^
# Target for bytecode executable (if ocamlopt is not available)
# plot : log_file.cmo gtk_export.cmo export.cmo plot.cmo
@@ -77,21 +67,30 @@ plot : $(LIBPPRZCMXA) $(XLIBPPRZCMXA)
%.cmo: %.ml
@echo OC $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $(PKG) $<
%.cmi: %.mli
@echo OCI $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(OCAMLCFLAGS) $(INCLUDES) -c $(PKG) $<
%.cmx: %.ml
@echo OOC $<
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) -c $<
$(Q)$(OCAMLOPT) $(OCAMLCFLAGS) $(INCLUDES) -c $(PKG) $<
export.cmo : gtk_export.cmo
export.cmx : gtk_export.cmx
gtk_export.ml : export.glade
grep -v invisible_char $< > $(TMPDIR)/$<
lablgladecc2 -root export -hide-default $(TMPDIR)/$< | grep -B 1000000 " end" > $@
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
MKTEMP = gmktemp
else
MKTEMP = mktemp
endif
gtk_export.ml : export.glade
@echo GLADE $@
$(eval $@_TMP := $(shell $(MKTEMP)))
$(Q)grep -v invisible_char $< > $($@_TMP)
$(Q)lablgladecc2 -root export -hide-default $($@_TMP) | grep -B 1000000 " end" > $@
$(Q)rm -f $($@_TMP)
pt : ahrsview imuview ahrs2fg
@@ -128,16 +127,20 @@ MORE_FLAGS = -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/incl
MORE_CFLAGS = -DHAVE_DLFCN_H=1 -DSTDC_HEADERS=1 -I. -I. -I.. -g -O2 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include
disp3d: disp3d.c
$(CC) $(MORE_CFLAGS) -g -o $@ $^ $(MORE_FLAGS)
@echo CC $@
$(Q)$(CC) $(MORE_CFLAGS) -g -o $@ $^ $(MORE_FLAGS)
plotprofile: plotprofile.c
$(CC) $(IVY_C_LIBRARYS) $(IVY_C_INCLUDES) -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` -lglibivy
@echo CC $@
$(Q)$(CC) $(IVY_C_LIBRARYS) $(IVY_C_INCLUDES) -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` -lglibivy
test1: test1.c
$(CC) $(MORE_CFLAGS) -g -o $@ $^ $(MORE_FLAGS) -lglut
@echo CC $@
$(Q)$(CC) $(MORE_CFLAGS) -g -o $@ $^ $(MORE_FLAGS) -lglut
test3: test3.c sliding_plot.c
$(CC) $(CFLAGS) -g -o $@ $^ $(LDFLAGS)
@echo CC $@
$(Q)$(CC) $(CFLAGS) -g -o $@ $^ $(LDFLAGS)
#FGFS_PREFIX=/home/poine/local
@@ -188,7 +191,7 @@ ctrlstick: ctrlstick.c
$(CC) -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config glib-2.0 --libs` -lglibivy
clean:
rm -f *.opt *.out *~ core *.o *.bak .depend *.cm* play ahrsview imuview ahrs2fg plot plotter gtk_export.ml openlog2tlm disp3d plotprofile test1 test3 test_samere ivy_example tmclient ffjoystick ctrlstick sd2log motor_bench
$(Q)rm -f *.opt *.out *~ core *.o *.bak .depend *.cm* play ahrsview imuview ahrs2fg plot plotter gtk_export.ml openlog2tlm disp3d plotprofile test1 test3 test_samere ivy_example tmclient ffjoystick ctrlstick sd2log motor_bench
.PHONY: all clean pt run_fg
@@ -197,7 +200,7 @@ clean:
#
.depend: Makefile
ocamldep -I $(LIBPPRZDIR) *.ml* > .depend
$(OCAMLDEP) -I $(LIBPPRZDIR) *.ml* > .depend
ifneq ($(MAKECMDGOALS),clean)
-include .depend
+4 -1
View File
@@ -1,2 +1,5 @@
# Quiet compilation
Q=@
clean:
rm -f *~
$(Q)rm -f *~
+31 -26
View File
@@ -24,12 +24,18 @@ Q=@
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
FPIC = -ccopt -fPIC
FPIC = -fPIC
else
FPIC =
endif
include ../../conf/Makefile.local
include ../Makefile.ocaml
OCAMLC += -g
INCLUDES =
PKG = -package glibivy,pprz
LINKPKG = $(PKG) -linkpkg -dllpath-pkg pprz
SIMML = stdlib.ml data.ml flightModel.ml gps.ml
SIMHML = $(SIMML) hitl.ml sim.ml
@@ -38,63 +44,62 @@ SIMSML = $(SIMML) sitl.ml sim.ml
SIMSCMO=$(SIMSML:%.ml=%.cmo)
SIMSCMX=$(SIMSML:%.ml=%.cmx)
OCAMLC = ocamlc -g
OCAMLOPT = ocamlopt
OCAMLDEP = ocamldep
OCAML=$(shell which ocaml)
OCAMLRUN=$(shell which ocamlrun)
LIBPPRZDIR=../lib/ocaml
INCLUDES= $(shell ocamlfind query -r -i-format lablgtk2) -I $(LIBPPRZDIR) $(shell ocamlfind query -r -i-format xml-light)
LIBPPRZCMA=$(LIBPPRZDIR)/lib-pprz.cma
AIRBORNE = ../airborne
VARINCLUDE=$(PAPARAZZI_HOME)/var/include
ACINCLUDE = $(PAPARAZZI_HOME)/var/$(AIRCRAFT)
UNAME = $(shell uname -s)
ifeq ("$(UNAME)","Darwin")
CAML_CFLAGS = -I/opt/local/lib/ocaml
else
CAML_CFLAGS =
endif
all : gaia sitl.cma simhitl
simhitl : fg.o $(SIMHCMO) simhitl.cmo
fg.so : fg.o
@echo BUILD $@
$(Q)$(CC) -shared -o $@ $^
simhitl : fg.so $(SIMHCMO) simhitl.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ str.cma xml-light.cma unix.cma glibivy-ocaml.cma lib-pprz.cma lablgtk.cma gtkInit.cmo $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $<
sitl.cma : fg.o $(SIMSCMO)
@echo OL $@
$(Q)ocamlmklib -o sitl $^
$(Q)$(OCAMLMKLIB) -o sitl $^
sitl.cmxa : $(SIMSCMX)
ocamlopt -o $@ -a $^
@echo OC $@
$(Q)$(OCAMLOPT) -o $@ -a $^
gaia : gaia.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lib-pprz.cma lablgtk.cma gtkInit.cmo $<
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $<
diffusion : stdlib.cmo diffusion.cmo
@echo OL $@
$(Q)$(OCAMLC) -custom $(INCLUDES) -o $@ unix.cma str.cma xml-light.cma glibivy-ocaml.cma lib-pprz.cma lablgtk.cma gtkInit.cmo $^
$(Q)$(OCAMLC) $(INCLUDES) -o $@ $(LINKPKG) gtkInit.cmo $^
%.cmo : %.ml
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c $<
$(Q)$(OCAMLC) $(INCLUDES) -c $(PKG) $<
%.o : %.c
@echo OC $<
$(Q)$(OCAMLC) $(FPIC) -c $<
@echo CC $<
$(Q)$(CC) $(FPIC) -c $< $(CAML_CFLAGS)
%.cmx : %.ml
@echo OOC $<
$(Q)$(OCAMLOPT) $(INCLUDES) -c $<
$(Q)$(OCAMLOPT) $(INCLUDES) -c $(PKG) $<
%.cmi : %.mli
@echo OC $<
$(Q)$(OCAMLC) $(INCLUDES) -c $<
# dependency on lib-pprz
simhitl diffusion gaia: $(LIBPPRZCMA)
$(Q)$(OCAMLC) $(INCLUDES) -c $(PKG) $<
clean :
rm -f *.cm* *~ *.out .depend *.o *.a *.so gaia simhitl diffusion
$(Q)rm -f *.cm* *~ *.out .depend *.o *.a *.so gaia simhitl diffusion
.PHONY: all clean
+3
View File
@@ -3,6 +3,8 @@
#
#JSBSIM = /usr/local
Q=@
#CC = g++
#CFLAGS = -Wall -I$(JSBSIM)/include/JSBSim -I../include
#LDFLAGS = -L$(JSBSIM)/lib -lJSBSim
@@ -70,4 +72,5 @@ test_sensors : $(TEST_SENSORS_SRCS)
gcc $(CFLAGS) -o $@ $^ $(LDFLAGS)
clean:
$(Q)rm -f *.o
+4 -1
View File
@@ -1,4 +1,7 @@
# Quiet compilation
Q=@
@@ -7,4 +10,4 @@ out.mpg:
ffmpeg -f image2 -i images/frame_%04d.ppm out.mpg
clean:
rm -f *~ \#*\#
$(Q)rm -f *~ \#*\#
+4 -1
View File
@@ -1,3 +1,6 @@
# Quiet compilation
Q=@
CC = gcc
GLIB_CFLAGS = -Wall `pkg-config glib-2.0 --cflags`
GLIB_LDFLAGS = `pkg-config glib-2.0 --libs` -lglibivy -lpcre
@@ -6,5 +9,5 @@ ttx2scilab: ttx2scilab.c
$(CC) -Wall $(GLIB_CFLAGS) -o $@ $< $(GLIB_LDFLAGS)
clean:
rm -f ttx2scilab
$(Q)rm -f ttx2scilab
+4 -1
View File
@@ -1,2 +1,5 @@
# Quiet compilation
Q=@
clean:
rm -f *~ foo*.png test.avi q3d.pov
$(Q)rm -f *~ foo*.png test.avi q3d.pov
+4 -1
View File
@@ -1,5 +1,8 @@
# Quiet compilation
Q=@
test:
povray test.pov +Oimg001.png Display=false +W800 +H600 +Q9 +A0.3 +R5
clean:
rm -f *~ img*.png test.avi q3d.pov
$(Q)rm -f *~ img*.png test.avi q3d.pov

Some files were not shown because too many files have changed in this diff Show More