More with the debug
[pandora-libraries.git] / Makefile
index 1d8d689..356756d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,9 +4,10 @@
 #
 
 # tools
-CC = gcc
-AR = ar
-RANLIB = ranlib
+CC = ${CROSSCOMPILE}gcc
+CXX = ${CROSSCOMPILE}g++
+AR = ${CROSSCOMPILE}ar
+RANLIB = ${CROSSCOMPILE}ranlib
 RM = rm
 
 # environment
@@ -20,12 +21,13 @@ LIB = libpnd.a
 SOLIB = libpnd.so.1         # canonicle name
 SOLIB1 = libpnd.so.1.0.1    # versioned name
 XMLOBJ = lib/tinyxml/tinystr.o lib/tinyxml/tinyxml.o lib/tinyxml/tinyxmlerror.o lib/tinyxml/tinyxmlparser.o
-ALLOBJ = pnd_conf.o pnd_container.o pnd_discovery.o pnd_pxml.o pnd_notify.o pnd_locate.o pnd_tinyxml.o pnd_pndfiles.o pnd_apps.o
+ALLOBJ = pnd_conf.o pnd_container.o pnd_discovery.o pnd_pxml.o pnd_notify.o pnd_locate.o pnd_tinyxml.o pnd_pndfiles.o pnd_apps.o pnd_utility.o pnd_desktop.o pnd_io_gpio.o pnd_logger.o
 
-all: ${SOLIB} ${LIB} conftest discotest notifytest locatetest pndnotifyd
+all: ${SOLIB} ${LIB} conftest discotest notifytest pndnotifyd rawpxmltest pndvalidator loggertest pnd_run pndevmapperd
 
 clean:
-       ${RM} -f ${ALLOBJ} ${XMLOBJ} ${LIB} ${SOLIB1} locatetest.o bin/locatetest conftest.o bin/conftest discotest.o bin/discotest bin/notifytest notifytest.o bin/pndnotifyd pndnotifyd.o ${SOLIB} testdata/dotdesktop/*.desktop testdata/apps/*.pnd testdata/dotdesktop/*.png
+       ${RM} -f ${ALLOBJ} ${XMLOBJ} ${LIB} ${SOLIB1} locatetest.o bin/locatetest conftest.o bin/conftest discotest.o bin/discotest loggertest.o bin/loggertest bin/notifytest notifytest.o bin/rawpxmltest rawpxmltest.o bin/pnd_run pnd_run.o bin/pndevmapperd pndevmapperd.o bin/pndnotifyd pndnotifyd.o ${SOLIB} testdata/dotdesktop/*.desktop testdata/menu/*.desktop testdata/apps/*.pnd testdata/dotdesktop/*.png deployment/usr/lib/libpnd* deployment/usr/bin/pndnotifyd deployment/usr/bin/pnd_run deployment/usr/pandora/scripts/* deployment/etc/sudoers deployment/etc/init.d/pndnotifyd bin/pndvalidator pndvalidator.o deployment/usr/bin/pndevmapperd testdata/menuicons/*
+       ${RM} -rf deployment/media
        find . -name "*~*" -exec rm {} \; -print
 
 # component targets
@@ -39,18 +41,30 @@ libpnd.so.1:        ${ALLOBJ} ${XMLOBJ}
        ${CC} -shared -Wl,-soname,${SOLIB} -o ${SOLIB1} ${ALLOBJ} ${XMLOBJ}
        ln -f -s ${SOLIB1} ${SOLIB}
 
+${SOLIB1}:     ${ALLOBJ} ${XMLOBJ}
+       ${CC} -shared -Wl,-soname,${SOLIB} -o ${SOLIB1} ${ALLOBJ} ${XMLOBJ}
+       ln -f -s ${SOLIB1} ${SOLIB}
+
 pndnotifyd:    pndnotifyd.o ${SOLIB1}
        ${CC} -lstdc++ -o bin/pndnotifyd pndnotifyd.o ${SOLIB1}
 
+pndvalidator:  pndvalidator.o ${SOLIB1}
+       ${CC} -lstdc++ -o bin/pndvalidator pndvalidator.o ${SOLIB1}
+
+pnd_run:       pnd_run.o ${SOLIB1}
+       ${CC} -lstdc++ -o bin/pnd_run pnd_run.o ${SOLIB1}
+
+pndevmapperd:  pndevmapperd.o ${SOLIB1}
+       ${CC} -lstdc++ -o bin/pndevmapperd pndevmapperd.o ${SOLIB1}
+
 # deployment and assembly components
 #
 
 pnd:
        # build x86_ls with icon
-       cd testdata/pndsample; ../scripts/pnd_make.sh x86_ls.pnd x86_ls/PXML.xml x86_ls
-       cd testdata/pndsample; cat x86_ls/zeldaicon.png >> x86_ls.pnd
+       cd testdata/pndsample; ../scripts/pnd_make.sh -p x86_ls.pnd -d x86_ls -i x86_ls/zeldaicon.png -x x86_ls/PXML.xml
        # build x86_echo with no icon
-       cd testdata/pndsample; ../scripts/pnd_make.sh x86_echo.pnd x86_echo/PXML.xml x86_echo
+       cd testdata/pndsample; ../scripts/pnd_make.sh -p x86_echo.pnd -d x86_echo -x x86_echo/PXML.xml
 
 deploy: 
        # populate deployment directory for copying into image bakes
@@ -60,12 +74,20 @@ deploy:
        mkdir -p deployment/usr/bin
        mkdir -p deployment/usr/pandora/apps
        mkdir -p deployment/usr/pandora/scripts
+       mkdir -p deployment/etc/init.d/
+       # premake the directories that SD's mount onto; makes pndnotifyd life easier
+       mkdir -p deployment/media/mmcblk0p1
+       mkdir -p deployment/media/mmcblk1p1
        # copy in goodies
        cp libpnd* deployment/usr/lib
        cp bin/pndnotifyd deployment/usr/bin
+       cp bin/pnd_run deployment/usr/bin
        cp testdata/scripts/* deployment/usr/pandora/scripts
+       cp bin/pndevmapperd deployment/usr/bin
        # copy in freebee .pnd apps to /usr/pandora/apps
        # add pndnotify to etc/rc/startup-whatever
+       cp testdata/sh/pndnotifyd deployment/etc/init.d/pndnotifyd
+       cp testdata/sh/sudoers deployment/etc/sudoers
 
 # test tool targets
 #
@@ -81,3 +103,9 @@ notifytest:  notifytest.o ${LIB}
 
 locatetest:    locatetest.o ${SOLIB1}
        ${CC} -lstdc++ -o bin/locatetest locatetest.o ${SOLIB1}
+
+rawpxmltest:    rawpxmltest.o ${LIB}
+       ${CC} -lstdc++ -o bin/rawpxmltest rawpxmltest.o ${LIB}
+
+loggertest:    loggertest.o ${LIB}
+       ${CC} -lstdc++ -o bin/loggertest loggertest.o libpnd.a