Makefile Problem für Diplomarbeit

A

abrissbirne

Grünschnabel
Hallo,
ich schreibe gerade meine Diplomarbeit und soll dort eine Schnittstelle für eine IR-Kamera zur Anbindung an eine LabView Datenaufnamesoftware. Die Schnitstelle wird in c++ programmiert. Damit ich nun meinen C++ Code in eine sogenannte Code Interface Node laden kann, muss aus dieser Datei eine .lsb Datei gebaut werden. .lsb ist eine LabView Subroutine. Dazu gibt es in der LabViw Hilfe eine Erklärung zur Erstellung eines Makefiles, welche diese Datei baut. Hier mein Code:
Code:
############################### description ################################

# Portable makefile to compile the source code for the CodeInterfaceNode 
# into a LabView subroutine (.lsb) file. Therfore the c++ code must
# be in the same directory as this makefile.
#---------------------------------------------------------------------------



############################## find cintools ###############################

# compares pattern to find cintools on you computer
CINTOOLSDIR := d:\progra~1\nation~1\labvie~1.0\cintools
#---------------------------------------------------------------------------



############################ additional includes ###########################

# additional include pathes 
CINCLUDE := -Id:\progra~1\matrox~1\mil\include

#separate the list of your library names with spaces
cinLibraries := d:\progra~1\matrox~1\mil\lib\mil.lib milmon.lib
#---------------------------------------------------------------------------



######################### adjustments and defaults #########################

# enter the name of your CIN
name := Addition

# type is default by CIN
type := CIN

# enable debugging tool with '1'; to disable leaving blank
debug_trace := 1

# use windows?
define checkwin
	$(debug-enter)
	$(if $(COMSPEC),\
	   cygpath-windows     = $(shell cygpath -w "$1")	\n
           
   	   cygpath-mixed 	      = $1				\n
                cygpath-unix	      = $1) 			\n

	$(debug-leave)
endef
#---------------------------------------------------------------------------



############################################################################

#includes the by LabView written makefile (ntlvsb.mak)
!include $(CINTOOLSDIR)\ntlvsb.mak
#---------------------------------------------------------------------------



######################## handmade debug tools ##############################

#Assertion: check if make-variable name unequal null
# $(call assert,Bedingung,Nachricht)
define assert
	$(if $1,,$(error Assertion failed: $2))
endef

# $(call assert-not-null,make-Variable)
define assert-not-null
	$(call assert,$($1),The variable "$1" is null)
endef

$(call assert-not-null,name)

# $(debug-enter)
debug-enter = $(if $(debug_trace),$(warning entering '$0' \
				and transfer variable ($(echo-args))))
# $(debug-leave)
debug-leave = $(if $(debug_trace),$(warning leaving '$0'))
comma := ,
echo-args = $(subst ' ','$(comma) ',$(foreach a,cintools,'$(a)'))
#---------------------------------------------------------------------------

.PHONY: trace-macro
trace-macro:
	$(call checkwin,$(CINTOOLSDIR))
	$(call outputs,$(CINTOOLSDIR),$(CINCLUDE),$(cinLibraries),$(name),$(type))
	

define outputs
	#
	# found path (cintools) : $1
	# found path (includes) : $2 
	# found path (libraries): $3
	#
	# your entered CIN name: $4
	# default type: $5
endef

Ich bekomme nun folgende Ausgabe:
Code:
make: Nothing to be done for '!include'.

Wenn ich das Ausrufezeichen for include löschen
Code:
#includes the by LabView written makefile (ntlvsb.mak)
include $(CINTOOLSDIR)\ntlvsb.mak

Bekomme ich diese Ausgabe:
Code:
d:\progra~1\nation~1\labvie~1.0\cintools\ntlvsb.mak:4: *** missing seperator.  Stop

Komme nicht mehr weiter. Ich brauche doch gar kein Ziel für eine include Anweisung. Deshalb verstehe ich die letzte Fehlermeldung nicht. :think:

Danke für eure Hilfe
 
Na ich weiss nicht ob du hier richtig bist ...

Zumal das Makefile ja auch für Windows geschrieben wurde. Versuch mal lieber den Labview Support oder ein Windows Forum ...

PS: Musst du make oder nmake benutzen?
 
Zuletzt bearbeitet:
Na ich weiss nicht ob du hier richtig bist ...

Zumal das Makefile ja auch für Windows geschrieben wurde. Versuch mal lieber den Labview Support oder ein Windows Forum ...
Ich bin doch im Forum Programmieren allgemein. Das ist doch richtig hier. Im LabView Forum wollen sie nichts über Makefiles hören, da DLL's einfacher sind. Ich soll aber ein Makefile erstellen das portable ist. Sprich es sollte jeder sein c++ code direkt in eine lsb Datei überführen können, ohne größeren Aufwand.

PS: Musst du make oder nmake benutzen?
Eigentlich möchte ich gerne make verwenden und nicht nmake (wo ist da überhaupt der unterschied?). Ich denke make ist universeller. Cygwin kenn nmake auch gar nicht.

Danke
 

Ähnliche Themen

Samba 4.1.9 mit Bind 9.9.4

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

NagiosGrapher 1.7.1 funktioniert nicht

Akonadi startet nicht mehr

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Zurück
Oben