| # -*-perl-*- |
| $description = "Check GNU make conditionals."; |
| |
| $details = "Attempt various different flavors of GNU make conditionals."; |
| |
| open(MAKEFILE,"> $makefile"); |
| |
| # The Contents of the MAKEFILE ... |
| |
| print MAKEFILE <<'EOMAKE'; |
| objects = foo.obj |
| arg1 = first |
| arg2 = second |
| arg3 = third |
| arg4 = cc |
| arg5 = second |
| |
| all: |
| ifeq ($(arg1),$(arg2)) |
| @echo arg1 equals arg2 |
| else |
| @echo arg1 NOT equal arg2 |
| endif |
| |
| ifeq '$(arg2)' "$(arg5)" |
| @echo arg2 equals arg5 |
| else |
| @echo arg2 NOT equal arg5 |
| endif |
| |
| ifneq '$(arg3)' '$(arg4)' |
| @echo arg3 NOT equal arg4 |
| else |
| @echo arg3 equal arg4 |
| endif |
| |
| ifndef undefined |
| @echo variable is undefined |
| else |
| @echo variable undefined is defined |
| endif |
| ifdef arg4 |
| @echo arg4 is defined |
| else |
| @echo arg4 is NOT defined |
| endif |
| |
| EOMAKE |
| |
| close(MAKEFILE); |
| |
| &run_make_with_options($makefile,"",&get_logfile,0); |
| |
| # Create the answer to what should be produced by this Makefile |
| $answer = "arg1 NOT equal arg2 |
| arg2 equals arg5 |
| arg3 NOT equal arg4 |
| variable is undefined |
| arg4 is defined |
| "; |
| |
| # COMPARE RESULTS |
| |
| &compare_output($answer,&get_logfile(1)); |
| |
| # This tells the test driver that the perl test script executed properly. |
| 1; |