سؤال

أستخدم هذه الأداة التي تسمى كسول C ++ الذي يقسم ملف C++ .lzz واحد إلى ملف .h و.cpp.أريد ماكيب أتوقع وجود هذين الملفين بعد قاعدتي الخاصة بإنشاء ملفات .lzz، لكنني لست متأكدًا من كيفية وضع هدفين في سطر إنشاء واحد.

هل كانت مفيدة؟

المحلول

لم أستخدم Makepp شخصيًا مطلقًا، ولكن نظرًا لأنه بديل مباشر لـ GNU Make، فمن المفترض أن تكون قادرًا على القيام بشيء مثل:

build: foo.h foo.cpp
   g++ $(CFLAGS) foo.cpp -o $(LFLAGS) foo

foo.h foo.cpp: foo.lzz
   lzz foo.lzz

لست متأكدًا أيضًا من استدعاء lzz هناك، ولكن هذا من شأنه أن يساعد.يمكنك قراءة المزيد عن هذا في http://theory.uwinnipeg.ca/gnu/make/make_37.html.

نصائح أخرى

لز مذهلة!هذا فقط ما كنت أبحث عنه http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09

في الواقع، كل ما تحتاجه هو الاعتماد (عادةً) على foo.o في قاعدة الارتباط الخاصة بك، وقاعدة النمط للاتصال بـ lzz:

%.cpp %.h: %.lzz
    lzz $(input)

والباقي سوف يقع في مكانه تلقائيا.عند تجميع أي مصدر يتضمن foo.h، أو ربط foo.o بمكتبة أو برنامج، سيتم استدعاء lzz تلقائيًا أولاً.

سوف يتعرف Makepp أيضًا على ما إذا كان الطابع الزمني قد تغير فقط وليس محتوى الملف الذي تم إنتاجه، ويتجاهل ذلك.ولكن لا يمكن أن يضر تقليل المهام التي يجب القيام بها، وذلك باستخدام خيارات lzz لمنع إعادة إنشاء ملف مماثل.

مع تحياتي - دانيال

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top